我有以下代码来填充数组。
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
属性读取有效值。
答案 0 :(得分:0)
好的,我在发布这个问题之后做了一些谷歌搜索,并且在顶部链接中有一个答案:
答案是使用nodeValue
代替textContent
。
我尝试了它并且有效。
matches[0].childNodes[0].nodeValue;