慕圣8408166
2018-07-12 11:24
function clearText() {
var content=document.getElementById("content");
// 在此完成该函数
var q= content.childNodes[0];
content.removeChild(q);
}
我感觉一次就可以移除一个啊,为什么呢??
因为js中的设定是这样的,当这个结点数组中的某一个数组元素被删除,这个元素后面的所有元素都会前移一个单位,即他们的下标都会减一,且数组的长度也会减一,所以我的建议是把循环结束的条件控制为孩子结点数组长度为零时结束循环,每次只删除第一个数组元素。
只点一下移除的是空白节点,打印content的子节点出来可以发现是这样的
> childnodes
NodeList(11) [text, h1, text, h1, text, h1, text, h1, text, h1, text]
var content=document.getElementById("content");
// 在此完成该函数
var q= content.childNodes[0];
你声明变量的都在函数里面,当你点击运行这个函数的时候,它实际上第一遍是获取到content这个ID而已,后面删除节点识别不出来,建议在全局里面声明变量
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题