在IE8及更低版本中,DispHTMLTableCell.childNodes [0] .textContent的计算结果为null

时间:2013-10-24 15:07:45

标签: javascript jquery internet-explorer internet-explorer-8

我有以下代码来填充数组。

matches = $('.cultureShortNameColumn');
numMatches = matches.length;

cultures = [];

for (var i = 0; i < numMatches; i++) {
  cultures[i] = matches[i].childNodes[0].textContent;
}

此代码在FireFox,Chrome和IE 9及更高版本中运行良好。

但是,在IE 8及以下版本中,我在调试器中看到,以下表达式的计算结果如下:

matches[i]                          {...}   DispHTMLTableCell
matches[0].childNodes                   {...}   DispDOMChildrenCollection
matches[0].childNodes[0]            {...}   DispHTMLDOMTextNode
matches[0].childNodes[0].textContent    undefined   Undefined

但是,当我在调试器的Watches窗口中展开matches[0].childNodes[0]局部变量时,它会有一个textContent属性读取有效值。

1 个答案:

答案 0 :(得分:0)

好的,我在发布这个问题之后做了一些谷歌搜索,并且在顶部链接中有一个答案:

答案是使用nodeValue代替textContent

我尝试了它并且有效。

matches[0].childNodes[0].nodeValue;