老师 这样为什么不对

老师 这样为什么不对

<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title>dom属性</title>

    <style type="text/css">

    .purple{color:purple;background-color:pink;}

    .yellow{color:yellow;background-color:orange;}

    </style>

</head>

<body>

    <h2>网络游戏排名</h2>

    <ul>

       <li>英雄联盟</li>

        <li>魔兽世界</li>

        <li>DOTA</li>

        <li>仙剑奇侠传</li>

        <li>穿越火线</li>

        <li>梦幻西游</li>

    </ul>

    <script type="text/javascript">

        // 补充代码

        var lis1=document.getElementsByName("li");

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

            lis1[i].setAttribute("color","violet")

            lis1[i].setAttribute("background","pink")

        }

        for(var i=1;i<lis1.length;i+=2){

            lis1[i].setAttribute("color","white")

            lis1[i].setAttribute("background","orange")

        }

    </script>

</body>

</html>



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

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

2回答
好帮手慕星星 2019-09-26 11:40:10

你好,可以参考下面的解释:

getElementsByTagName是通过标签名获取元素,而getElementsByName是通过name名称获取元素。例如:

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

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

通过标签名获取的元素有两个,通过指定name值获取的元素有1个。

自己可以测试下哦。

好帮手慕星星 2019-09-26 10:07:07

同学你好。

1、首先是li元素没有获取到,通过li标签名获取元素,方法中需要加上tag,如下修改:

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

2、按照上面修改后,可以在控制台中看到:

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

属性添加上了,但是是作为属性,而不是style属性中的样式哦,所以没有效果。可以修改为:

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

自己测试下,祝学习愉快!

  • 提问者 anan_123 #1
    getElementsByTagName和getElementsByName有什么区别呐
    2019-09-26 10:36:01
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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