美文网首页
JavaScript_02 DOM简述及获取元素

JavaScript_02 DOM简述及获取元素

作者: Nancy_01 | 来源:发表于2018-01-30 20:00 被阅读0次

1、DOM:documentObjectModel。文档对象模型。
D:代表文档,也即当我们编写一个网页并加载到浏览器中时,它将我们的网页文档转换为一个文档对象
O:代表对象
-用户自定义的对象:程序员自行开发的对象。
-内置对象:内建在javascript语言中的对象
-宿主对象:由浏览器提供的对象
M:代表模型
DOM把一份文档表示为一颗树,如下代码:

<html>
    <head>
        <meta charset="utf-8" />
        <title>example</title>
    </head>
    <body>
        <h1>what to you buy?</h1>
        <p title="a gentle reminder">don't forget to buy this stuff</p>
        <ul id="purchases">
            <li>a tin of beans</li>
            <li class="sale">cheese</li>
            <li class="sale important">milk</li>
        </ul>
    </body>
</html>

分析一下网页的结构可以得到这样的模型


dom.jpeg

对于这个树来说,通过不同的节点来构成。节点包括:
-元素节点:例如<body> <ul> <li>等;
-文本节点:比如上面代码中<p>元素中的don't forget to buy this stuff即为文本节点;
-属性节点:属性节点被放在元素节点的起始节点中,如:代码中的title="a gentle reminder"即为属性节点;

2、获取元素:
(1)、getElementById();通过元素的id属性值来获取元素,返回一个元素对象。

    <script type="text/javascript">
        alert(document.getElementById("purchases"));
    </script>

(2)、getElementsByTagName();通过元素节点名称来获取元素列表,返回一个对象数组。

    <script type="text/javascript">
        alert(document.getElementsByTagName("li").length);
    </script>

(3)、getElementsByTagName();通过元素节点classname来获取元素列表,返回一个对象数组。

    <script type="text/javascript">
        alert(document.getElementsByClassName("sale").length);
    </script>

3、获取和设置属性
(1)、获取属性值:getAttribute()

<script type="text/javascript">
       var pobjects = document.getElementsByTagName("p"); //获取元素节点为p的元素数组
           for(var i=0;i<pobjects.length;i++){ //循环该数组
               var title_text = pobjects[i].getAttribute("title"); //获取数组的属性title的值
               if(title_text != null){ //如果title的值不为空
                   alert(title_text);  //弹出title属性的值
               }
           }
   </script>

(2)、设置属性值:getAttribute()

<script type="text/javascript">
       var pobjects = document.getElementsByTagName("p"); //获取元素节点为p的元素数组
           for(var i=0;i<pobjects.length;i++){ //循环该数组
               var title_text = pobjects[i].getAttribute("title"); //获取数组的属性title的值
               if(title_text != null){ //如果title的值不为空
                   pobjects[i].setAttribute("title","a new title");    //修改title属性值为:a new title
                   alert(pobjects[i].getAttribute("title"));//弹出title属性值
               }
           }
   </script>

相关文章

网友评论

      本文标题:JavaScript_02 DOM简述及获取元素

      本文链接:https://www.haomeiwen.com/subject/wzthzxtx.html