Javascript - IE8 忽略条件
Posted
技术标签:
【中文标题】Javascript - IE8 忽略条件【英文标题】:Javascript - IE8 Ignoring Condition 【发布时间】:2012-10-26 00:21:09 【问题描述】:我的问题:
为什么在 IE 8 中会忽略此条件?
if (dynCheck[0].innerhtml == 'Empty' || dynCheck[0].innerHTML == "")` continue
更多细节:
我有一个循环将列表项数组存储到另一个数组中。我有一个条件来检查第一个列表项的值是否为“空”,如果是,那么continue
。出于某种原因,IE8 忽略了这个条件。可能是因为我正在检查一个包含值的数组吗?
这是整个循环:
for(var dynEl = 1; dynEl <= dynLists; dynEl++)
//Get Array of List Items
var dynCheck = document.getElementById('loc' + dynEl).getElementsByTagName('li');
//Check if it is empty or not
if (dynCheck[0].innerHTML == 'Empty' || dynCheck[0].innerHTML == "") continue
//If there is content then add it to the Array
dynElArr[dynElIndx] = dynCheck;
//Increment Index
dynElIndx++;
谢谢!
【问题讨论】:
您是否使用控制台线对其进行了调试以查看其中的内容?可能是空白字符。 我们不都喜欢 Internet Explorer 吗? 【参考方案1】:innerHTML
在浏览器之间不一定相同,尤其是在 节点之间的空格方面。
案例一:
<ul><li>Item</li></ul>
案例 2:
<ul>
<li>Item</li>
</ul>
可能会给出不同的结果。
尝试.nodeValue
或先选择实际的文本节点并使用.textContent
/.nodevalue
【讨论】:
以上是关于Javascript - IE8 忽略条件的主要内容,如果未能解决你的问题,请参考以下文章