删除有点问题

来源: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个的时候调用会报错。

参考修改:

http://img.mukewang.com/climg/5c2c2ac0000115ef08850443.jpg

http://img.mukewang.com/climg/5c2c2ad700018b4809700489.jpg

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

0

0 学习 · 4826 问题

查看课程