JavaScript中通过id和name属性获取Dom元素

    在js中如果id名称不和内置属性或全局变量重名的话,该名称自动成为window对象的属性,而在一个html页面中,this===window

一、通过id属性获取

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

</head>
<body>
    <div id="box" style="width:100px;height: 50px;background-color: red" >dddd</div>
    <script type="text/javascript">
        alert(window.box.innerHTML);
        //或者下面写法也可以
        // alert(box.innerHTML);
        //alert(document.all('test').innerHTML);

    </script>
</body>
</html>

二、通过name属性获取

    对于name属性来说,只有某些类型的html元素具有类似的方法,比如:form,img,iframe,applet,embed,object等。在这些元素中可以通过全局变量或者document的属性来访问name属性的元素;如果相同name属性的有多个元素,则返回一个NodeList的类似只读数组的对象。示例如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

</head>
<body>
    <div>
      <img name="pic" src="#" alt="pic_0" />
      <img name="pic" src="#" alt="pic_1" />
      <img name="pic" src="#" alt="pic_2" />
    </div>

    <script type="text/javascript">

        for(var i=0;i<pic.length;i++){
            console.log(pic[i].alt);
        }
    </script>
</body>
</html>

PS:for in遍历对象的所有可枚举的属性 对于array和nodelist最好用for,for in可以遍历对象,但对象里包含了length长度属性,以及item,nameitem属性。会打印出其他东西

猜你喜欢

转载自blog.csdn.net/chenyonken/article/details/80955498