<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><ul i
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <ul id="box"> <li>第一个</li> <li>第二个</li> <li>第三个</li> </ul> <script type="text/javascript"> box.replaceChild(box.firstChild,box.lastChild); document.write(box.childNodes.length) </script></body></html>
Firefox运行结果如下:
所以,要考虑空白节点的影响。
清除空白节点函数:
function cleanWhitespace(element) { for(var i=0; i<element.childNodes.length; i++) { var node = element.childNodes[i]; if(node.nodeType == 3 && !//S/.test(node.nodeValue)) { node.parentNode.removeChild(node); } } }