您的位置:首页 > Web前端 > JavaScript

JS DOM 中的空白节点的过滤

2012-08-07 16:29 288 查看

看如下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,解决

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: