JS DOM 中的空白节点的过滤

来源:互联网 发布:java商城 编辑:程序博客网 时间:2024/05/16 12:35

看如下HTML代码

<html><head><title>DOM Test</title></head><body><table> <tr> <td id="TEST"><input type="submit" value="确定"/><input type="button" value="取消"/></td></tr> </table><script type="text/javascript"><!--var td = document.getElementById("TEST");alert(td.childNodes.length);//结果为4 --></script></body></html>

        由于DOM中,空白也是作为一个文本节点,而两个input元素后面都有空白(回车、空格、制表符),所以结果为4,删除空白后结果为2。

为了处理里面的空格节点,用以下函数来处理。

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); } } } 

处理结点cleanWhitespace(document.getElementById("TEST"))后,OK,解决 


原创粉丝点击