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、代码中存在冗余,给你简化了一下,可参考:
自己再测试下,祝学习愉快~~
相似问题