当前位置:首页 > 概述 >

操作指南:DOM获取规则

1、DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到

admin
1、DOM(Document Object Model 文档对象模型)
     
    一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以操作标签使页面动起来,让页面动起来。
    以chrom为例,按F12选择console在filter框中输入document,可以通过document来定位元素

2、JS获取DOM元素的8种方法

    通过ID获取(getElementById)
    通过name属性(getElementsByName)
    通过标签名(getElementsByTagName)
    通过类名(getElementsByClassName)
    获取html的方法(document.documentElement)
    获取body的方法(document.body)
    通过选择器获取一个元素(querySelector)(开发常用)
    通过选择器获取一组元素(querySelectorAll)(开发常用)

3、DOM获取的一般方式
   
    假如一个网页的源代码如下所示
        <div class="test">要取的内容</div>
    如果你想取到div里面的内容,怎么写?

    用DOM方式这样获取:
 
        div[class=test]
    这是最简单是示例了。再比如   
        <div id="test">要取的内容</div>       
    用DOM方式这样获取:   
         div[id=test]   
    要是元素不是一个div,而是一个span,如下:
        <span id="test">要取的内容</span>   
    也很简单,用DOM方式这样获取:
        span[id=test]   
    稍微复杂一点的结构,如下
        <div class="test"><span id="mytest">要取的内容</span></div>   
    用DOM方式这样获取:
        div[class=test] span[id=mytest]

4、规则的简写   


      每次都输入div[class=test]或者span[id=test]这样的东西,太麻烦了。整理上面的几个例子,所以我们可以简写:
完整的写法
简写
div[class=test]
div.test
div[id=test]
div#test
span[id=test]
span#test
div[class=test] span[id=mytest]
div#test span#mytest

注意: div[class=aa bb] 像这样,一个class有两个值,这种情况下不能简写。

5、一些高级的写法
 
过滤
描述
属性
匹配具有指定属性的元素。如 div[id] 表示通过id属性 查找所有的
!属性
匹配不具有指定属性的元素。 如 div[!id] 表示 查找所有没有id属性的
[属性=value]
匹配具有指定属性值的元素。如 div[id=test] 表示查找id=test的div元素
[属性!=value]
匹配不具有指定属性值的元素。 如 div[id!=test] 表示查找id不等于test的div元素
[属性^=value]
匹配包含特定前缀的值的指定属性的元素。如 div[id^=test] 表示查找id前缀为test的div元素
[属性$=value]
匹配包含特定后缀的值的指定属性的元素。如 div[id$=test] 表示查找id后缀为test的div元素
[属性*=value]
匹配具有指定属性的元素,且该属性包含了一定的值。如 div[id*=test] 表示查找id包含test的div素

 
6、使用DOM获取用户名

    <div class="top-middle">
       <h1>用户名</h1>
    </div>
    用DOM方式这样获取:
       div.top-middle h1
 
7、使用DOM获取列表链接
   
     凡是获取列表链接,都分成两行,比如要获取如下的列表
    html内容:
 
    <ul class="page_list">
       <li><a href="detail.php?page=1">第1个链接</a></li>
       <li><a href="detail.php?page=2">第2个链接</a></li>
       <li><a href="detail.php?page=3">第3个链接</a></li>
       <li><a href="detail.php?page=4">第4个链接</a></li>
       <li><a href="detail.php?page=5">第5个链接</a></li>
       <li><a href="detail.php?page=6">第6个链接</a></li>
       <li><a href="detail.php?page=7">第7个链接</a></li>
       <li><a href="detail.php?page=8">第8个链接</a></li>
       <li><a href="detail.php?page=9">第9个链接</a></li>
       <li><a href="detail.php?page=10">第10个链接</a></li>
    </ul>
用DOM方式这样获取:
       ul.page_list li
       a

其中,规则分成两行。第一行是循环区域,第二行是取里面的a标签。如果下面只有一个a标签,一般写a就行了。如果下面有几个a标签,需要进行额外的指定,比如
 
       ul.page_list li
       a.test


返回顶部