在FireFox中显示有误,错在哪里?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


childNodes function myDOMInspector() { var oUl = document.getElementById("myList"); var DOMString = ""; if(oUl.hasChildNodes()) { var oCh = oUl.childNodes; for(var i=0;i<oCh.length;i++) { DOMString += oCh[i].nodeName +oCh[i].childNodes[0].nodeValue+"\n"; } } alert(DOMString); }




  • aaaa

  • bbbb

  • cccc

  • dddd

  • eeee




要正常显示li项中的文本,在firefox中提示:
错误: oCh[i].childNodes[0] is undefined
试问怎么修改,使其在IE和FireFox中都能正常显示!

[code="java"] for(var i=0;i<oCh.length;i++) {
if (oCh.nodeType == 3) { continue; }

DOMString += oCh[i].nodeName +oCh[i].childNodes[0].nodeValue+"\n";
} [/code]

#myList下的childNodes不只是LI,还有空白文本节点,空白文本节点是没有childNodes的,所以报错;只要过滤掉空白文本节点就好了。

在firefox中不支持这个childNodes方法,当然会报错啦!