1-11 编程练习 效果出不来,不只是哪里错了

来源:1-16 编程练习

有礼彬

2018-03-09 16:53:43

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>innerHTML</title>

    <style type="text/css">

    .red{color:red;}

    </style>

</head>

<body>

    <h3>古文推荐</h3>

<ul>

<li>西游记</li>

<li>红楼梦</li>

<li>三国演义</li>

<li>聊斋志异</li>

<li>论语</li>

<li>孟子</li>

<li>中庸</li>

<li>大学</li>

</ul>

<script>

  var ul=document.getElementsByTagName("ul"),

li=ul.getElementsByTagName("li"),

li_cont=li.innerHTNL,

len=li.length;

for(var i=1;i<len;i++){

   var s=i%2;

   var li_content="第"+i+"名:"+li_cont;

   if(s!=0){

     li_content[i].className="red";  

   }

}

    </script>

</body>

</html>


写回答

1回答

好帮手慕星星

2018-03-09

测试了你的代码,有几个问题:

1、用getElementsByTagName获取ul对象,获取的是一个集合,但是代码中只有一个,所以需要添加索引值。

2、因为索引值是从0开始的,所以定义i值的时候可以从0开始,否则索引为0的li添加不上样式。

3、循环中应该对获取的每一个li对象进行操作,不是定义的i_content。

4、代码中存在冗余,给你简化了一下,可参考:

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

自己再测试下,祝学习愉快~~

0

0 学习 · 640 问题

查看课程