getElementsByTagName问题

来源:4-8 编程练习

青铜的奇妙世界

2020-12-22 19:39:17

# 具体遇到的问题
因为试了这个方法getElementsByTagName,执行不了后发现这个方法会生成一个数组并把script里的内容也算到DOM里面,可以这样理解吗?

<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title>HTML事件</title>

</head>

<body>

    <!-- 此处写代码 -->

   <input type="button" value="点击我试试" id="btn">

   <script>

       var btn = document.getElementsByTagName('input')

    //    var btn = document.getElementById("btn")

       console.log(btn)

       btn.onclick=function(){

           this.style.backgroundColor='green';

       }

   </script>

</body>

</html>


写回答

2回答

好帮手慕星星

2020-12-23

同学你好,通过getElementsByTagName标签名获取元素,结果是一个类数组对象。不是把script的内容也算在dom中,而是input绑定了点击事件,所以会显示

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

类数组对象这种情况可以通过索引[]获取一个元素,参考:

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

效果

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

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

0

好帮手慕夭夭

2020-12-23

同学你好,理解的稍微有点偏差,这里生成的不是数组,叫做类数组对象(简称类数组)。如果想要获取类数组中的dom对象,可以通过数组下标(索引)的方式获取。示例:

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

祝学习愉快~


0

0 学习 · 15276 问题

查看课程