function delVirtualNode(eleId) {//用于在火狐里删除虚节点(换行符),用的递归方法
var mydiv = document.getElementById(eleId).childNodes.length//.item(7).innerHTML;
for (var i = 0; i < mydiv; i++) {
if (document.getElementById(eleId).childNodes.item(i).nodeType != 1) {
document.getElementById(eleId).removeChild(document.getElementById(eleId).childNodes.item(i));
return delVirtualNode(eleId);
}
}
}
function delVirtualNode2(eleId){//用于在火狐里删除虚节点(换行符),用的while循环
var child=document.getElementById(eleId).firstChild;
while(child){
child2=child.nextSibling;//这里加了一个中间变量,也是个小技巧。
if(child.nodeType!=1){//这个判断是很关键的
document.getElementById(eleId).removeChild(child);//如果不是元素节点,就删除
}
child=child2;
}
}
var mydiv = document.getElementById(eleId).childNodes.length//.item(7).innerHTML;
for (var i = 0; i < mydiv; i++) {
if (document.getElementById(eleId).childNodes.item(i).nodeType != 1) {
document.getElementById(eleId).removeChild(document.getElementById(eleId).childNodes.item(i));
return delVirtualNode(eleId);
}
}
}
function delVirtualNode2(eleId){//用于在火狐里删除虚节点(换行符),用的while循环
var child=document.getElementById(eleId).firstChild;
while(child){
child2=child.nextSibling;//这里加了一个中间变量,也是个小技巧。
if(child.nodeType!=1){//这个判断是很关键的
document.getElementById(eleId).removeChild(child);//如果不是元素节点,就删除
}
child=child2;
}
}
本文提供两种JavaScript函数实现:一种使用递归方法,另一种采用while循环方式,在火狐浏览器中有效移除HTML元素下的非元素节点(如换行符等虚节点)。这两种方法能够帮助开发者清理HTML结构中的多余空白节点。
2502

被折叠的 条评论
为什么被折叠?



