删除有点问题
来源:7-2 编程练习
慕后端8593059
2019-01-01 15:48:16
//此处填写代码
var box=document.getElementById('box');
var btnAdd=document.getElementById('btnAdd');
var btnRemove=document.getElementById('btnRemove');
var list=document.getElementById('list');
var liList=document.getElementsByTagName('li');
function mouse(){
for(var i=0;i<3;i++){
liList[i].onmouseover=function(){
this.style.background='red';
}
liList[i].onmouseout=function(){
this.style.background='pink';
}
}
}
mouse();
btnAdd.onclick=function(){
var len = list.childElementCount;
var li=document.createElement('li');
var txt=document.createTextNode('我是第'+ ++len +'个li');
li.appendChild(txt);
list.appendChild(li);
}
btnRemove.onclick=function(){
var len = list.childElementCount;
list.removeChild(list.children[0]);
console.log(len);
}1回答
好帮手慕星星
2019-01-02
同学你好,代码中的问题:
1、删除元素应该是倒着删除,所以应该是长度-1。
2、将元素删除完之后,点击添加按钮,新添加的元素鼠标移入的时候,背景颜色没有变化,所以需要重新调用颜色的方法,需要将for循环中的判断改变获取的长度,不是固定的3,否则少于3个的时候调用会报错。
参考修改:


可以按照上面的修改测试下,祝学习愉快!
相似问题