麻烦老师看一下代码是否有问题

来源:11-2 编程练习

做厉害的人

2019-07-12 14:42:30

<!DOCTYPE html>
<html>

<head>
   <meta charset="UTF-8">
   <title></title>
   <style type="text/css">
       html,
       body {
           margin: 0;
           padding: 0;

       }

       div:not(:nth-of-type(2)) {
           width: 500px;
           height: 100%;
           background-color: #a0e4ff;
           margin: 0 auto;
       }

       /*ul默认有外边距*/

       ul {
           width: 300px;
           height: 100%;
           background-color: #ecc7ea;
           list-style: none;
           /*清除默认边距*/
           margin: 0;
           padding: 0;
           margin: 20px auto;
           margin-bottom: 30px;
       }

       li {
           width: 200px;
           height: 30px;
           line-height: 30px;
           margin: 30px auto;
           background-color: #cdffc0;
       }
   </style>
</head>

<body>
<div id="box">
   <button id="btnAdd">添加元素</button>
   <button id="btnRemove">删除元素</button>
   <ul id="list">我是ul
       <li>我是li1</li>
       <li>我是li2</li>
       <li>我是li3</li>
   </ul>
</div>
<script type="text/javascript">
   //此处填写代码
   var list = document.getElementById("list");
   var liNodes = list.querySelectorAll("li");
   var len = liNodes.length;
   var btnAdd = document.getElementById("btnAdd");
   var btnRemove = document.getElementById("btnRemove");
   for (var i = 0; i < len; i++) {
       liNodes[i].onmouseover = function () {
           this.style.backgroundColor = "red";
       }
       liNodes[i].onmouseout = function () {
           this.style.backgroundColor = "purple";
       }
   }
   //保存li个数
   var  index  = 3;
   btnAdd.onclick = function () {
     var  element = document.createElement("li");
     var  textElement  =document.createTextNode("我是li"+(++index));
      element.appendChild(textElement);
      list.appendChild(element);
     
 }
   btnRemove.onclick =function () {
     var lastChildNode  =  list.lastElementChild;
     var count = list.childElementCount;
     if (count > 0){
         list.removeChild(lastChildNode);
     }
     count -- ;

   }
</script>
</body>

</html>

写回答

1回答

好帮手慕言

2019-07-12

同学你好,在删除元素后,新添加的li里面的序号是不正确的。

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

建议:在删除元素之后,index--。

代码参考:

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

祝学习愉快~

0

0 学习 · 40143 问题

查看课程