<script>
window.onload = function () {
let op = document.getElementById('p');
console.log(op.childNodes);
removeSpaceNode(op);
console.log(op.childNodes);
};
/*
使用firstChild lastChild
必须从父节点上删除节点
*/
//为什么要倒着查删?
//答:正着查查完删掉一个角标呗后面一个顶上,顶上的这个下次查就倍略过了,所以再某些形况下可能会漏掉,因此建议用倒着查来解决.
function removeSpaceNode(parent) {
let nodes = parent.childNodes;
for (let i = nodes.length-1;i >= 0;i--){//倒着查,倒着删除
if (nodes[i].nodeType == 3 && /^\s+$/.test(nodes[i].nodeValue)){
//删除还空白节点
parent.removeChild(nodes[i]);
}
}
}
</script>
</head>
<body>
<p id="p">
<strong>strong</strong><br>
<button>充数的button</button>
</p>
</body>
image.png