老师按照任务的提示以及修改有一个地方不能实现

老师按照任务的提示以及修改有一个地方不能实现

<!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')[0];

var lis=ul.getElementsByTagName('li');


for(var i=0;i<lis.length;i++){

    lis[i].innnerHTML="第"+(i+1)+"名"+lis[i].innerHTML;

   if(i%2==0){

        lis[i].className="red";

    }

}



    </script>

</body>

</html>

只能加红色,但是第几名显示不了

[0]这个如果不加后的i+=2就是写i++吧

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2019-11-18 15:27:59

同学你好,理解的有点问题,解答如下:

通过标签名获取到的元素是一个集合,而代码中就一个ul元素,所以通过[0]选取了。再通过这一个元素获取子元素li:

http://img1.sycdn.imooc.com//climg/5dd245fc090b233704530093.jpg

下面的循环中是对li集合进行的,i+=2是对li的索引来说的,选取奇数项,和ul没有关系,所以两个不要弄混哦。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕星星 2019-11-18 15:04:46

同学你好,问题解答如下:

1、第几名显示不出来,也就是通过innerHTML属性没有将内容添加进去,可以从这点检查代码。参考修改:innerHTML属性多了一个n

http://img1.sycdn.imooc.com//climg/5dd241c709bfb68d08080088.jpg

2、‘[0]这个如果不加后的i+=2就是写i++吧’这句话老师没有明白,建议描述具体一些,便于准确定位问题。不过同学现在通过取余的方式判断奇数项是正确的,很棒!

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 LiamHsu #1
    var ul=document.getElementsByTagName('ul')[0]; [0]这个是任务的提示; 任务提示的第四个还是用的for循环 循环的第三个条件是i+=2;这里应该是因为在开始设置了[0]的吧. 如果没有的话那这里用i++就可以了吧; 我这里是用的if来判断的 这个问题是任务的提示下我提出来的
    2019-11-18 15:10:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师