删除有点问题
来源: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个的时候调用会报错。
参考修改:
可以按照上面的修改测试下,祝学习愉快!
相似问题