zoukankan      html  css  js  c++  java
  • Dom模型

    1.dom之对象分类

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>对象分类</title>
     6 
     7 </head>
     8 <body>
     9     <div id="div1">
    10         <div ></div>
    11         <p></p>
    12     </div>
    13  <script type="text/javascript">
    14 
    15         /*在DOM(文档对象模型中,也是一切都是对象,但是范围很小,就只有几个
    16             1.document object
    17             2.element object
    18             3.text object
    19             4.attribute object
    20             5.comment object
    21             5个对象封装到一个Node object中。node object有
    22             自己的节点属性:
    23                 attribute;nodeType;nodeName;nodeValue;innerHTML;
    24                     导航属性:
    25                         parentNode
    26                         firstChild
    27                         lastChild
    28                         childNodes
    29                         由于上面的5个属性都是封装到一个Node Object中,所以我们可以直接使用这些属性。/
    30         */
    31         var ele=document.getElementById("div1");
    32                     //自身属性
    33         console.log(ele.nodeName);
    34         console.log(ele.nodeType);
    35         console.log(ele.nodeValue);
    36                     //导航属性之firstChild
    37         var ele2=ele.firstChild;
    38         alert(ele2.nodeName);//#text 结果令人惊讶,原来2个div之间有一些空格,这些就是造成是文本的原因
    39 
    40         var ele3=ele.childNodes;
    41         alert(ele3.length);//5,js把空白区域当成了文本
    42         var parent=ele.parentNode;
    43         alert(parent);
    44     </script>
    45 </body>
    46 </html>
    View Code

     2.dom对象模型的根据文档树结构进行导航。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>对象分类</title>
     6 
     7 </head>
     8 <body>
     9     <div id="div1">
    10         <div ></div>
    11         <p></p>
    12     </div>
    13  <script type="text/javascript">
    14 
    15         /*在DOM(文档对象模型中,也是一切都是对象,但是范围很小,就只有几个
    16             1.document object
    17             2.element object
    18             3.text object
    19             4.attribute object
    20             5.comment object
    21             5个对象封装到一个Node object中。node object有
    22             自己的节点属性:
    23                 attribute;nodeType;nodeName;nodeValue;innerHTML;
    24                     导航属性:
    25                         parentNode
    26                         firstChild
    27                         lastChild
    28                         childNodes
    29                         由于上面的5个属性都是封装到一个Node Object中,所以我们可以直接使用这些属性。/
    30         */
    31         var ele=document.getElementById("div1");
    32           /*          //自身属性
    33         console.log(ele.nodeName);
    34         console.log(ele.nodeType);
    35         console.log(ele.nodeValue);
    36                     //导航属性之firstChild
    37         var ele2=ele.firstChild;
    38         alert(ele2.nodeName);//#text 结果令人惊讶,原来2个div之间有一些空格,这些就是造成是文本的原因
    39 
    40         var ele3=ele.childNodes;
    41         alert(ele3.length);//5,js把空白区域当成了文本
    42         var parent=ele.parentNode;
    43         alert(parent);*/
    44                     //既然firstChild不行,但是firstElementChild可以
    45         var ele_son=ele.firstElementChild;
    46         alert(ele_son.nodeName);
    47                     //lastElementChild
    48         var last=ele.lastElementChild;
    49         alert(last.nodeName);
    50                     //所有节点children
    51         var ele_nodes=ele.children;
    52         alert(ele_nodes.length);
    53         alert(ele_nodes[0].nodeName);
    54 
    55         for(var i=0;i<ele_nodes.length;i++){
    56                 console.log(ele_nodes[i].nodeName);
    57         }
    58                    //nextElementSibling,兄弟元素节点,记住没有空白文档
    59 
    60         var sib=ele.firstElementChild;
    61         console.log(sib.nextElementSibling.nodeName);
    62     </script>
    63 </body>
    64 </html>
    View Code

     3.全局查找和局部查找

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>查找</title>
     6 </head>
     7 <body>
     8     <div id="div1">hello
     9         <div class="div2">hello2</div>
    10         <div class="div3" name="lizebo">hello3
    11                 <p>hello inner</p>
    12                 <p id="p1">world innerhtml</p>
    13         </div>
    14         <p>hello,browser</p>
    15     </div>
    16     <script type="text/javascript">
    17                     //这里注意一下啊,这里为什么是elements,而不是element。这是有意义的,因为
    18                     //设计者知道以class命名元素可能有多个,而id只能有一个。
    19                   //1.通过id 选择器:document.getElementById();
    20                   //2.通过class选择器
    21        var ele=document.getElementsByClassName("div2");
    22        console.log(ele[0].nodeName);
    23        console.log(ele[0].innerHTML);
    24                     //3通过tag
    25        var tagnames=document.getElementsByTagName("p");
    26        console.log(tagnames);
    27        console.log(tagnames[0].innerHTML);
    28                     //4.通过名字,虽然用的不多,但是可以用这个
    29        var names=document.getElementsByName("lizebo");
    30        console.log(names[0].nodeName);
    31 
    32        /*局部去找也就是不通过document找,那么只有用element了,都差不多,这个怎么方便怎么用。*/
    33                     var els=document.getElementsByClassName("div3")[0];
    34                     var jubu=els.getElementsByTagName("p");
    35                     console.log(jubu[0].innerHTML);
    36 
    37 
    38     </script>
    39 </body>
    40 </html>
    View Code
  • 相关阅读:
    【磁盘/文件系统】第五篇:CentOS7.x__btrfs文件系统详解
    【python】-- IO多路复用(select、poll、epoll)介绍及实现
    【python】-- 事件驱动介绍、阻塞IO, 非阻塞IO, 同步IO,异步IO介绍
    【python】-- 协程介绍及基本示例、协程遇到IO操作自动切换、协程(gevent)并发爬网页
    【python】-- 多进程的基本语法 、进程间数据交互与共享、进程锁和进程池的使用
    【python】-- 队列(Queue)、生产者消费者模型
    【python】-- 信号量(Semaphore)、event(红绿灯例子)
    【python】-- GIL锁、线程锁(互斥锁)、递归锁(RLock)
    【python】-- 继承式多线程、守护线程
    【python】-- 进程与线程
  • 原文地址:https://www.cnblogs.com/lizeboLB/p/7818767.html
Copyright © 2011-2022 走看看