DOM查询
  - 通过具体的元素节点来查询
  - 元素.getElementsByTagName()
  - 通过标签名查询当前元素的指定后代元素,返回数组

  - 元素.childNodes
  - 获取当前元素的所有子节点
  - 会获取到空白的文本子节点

  - 元素.children
  - 获取当前元素的所有子元素

  - 元素.firstChild
  - 获取当前元素的第一个子节点

  - 元素.lastChild
  - 获取当前元素的最后一个子节点

  - 元素.parentNode
  - 获取当前元素的父元素

  - 元素.previousSibling
  - 获取当前元素的前一个兄弟节点

  - 元素.nextSibling
  - 获取当前元素的后一个兄弟节点

innerHTML和innerText
  - 这两个属性并没有在DOM标准定义,但是大部分浏览器都支持这两个属性
  - 两个属性作用类似,都可以获取到标签内部的内容,
  不同是innerHTML会获取到html标签,而innerText会自动去除标签
  - 如果使用这两个属性来设置标签内部的内容时,没有任何区别的

读取标签内部的文本内容
  <h1>h1中的文本内容</h1>
  元素.firstChild.nodeValue

  - document对象的其他的属性和方法
  document.all
  - 获取页面中的所有元素,相当于document.getElementsByTagName("*");

  document.documentElement
  - 获取页面中html根元素

  document.body
  - 获取页面中的body元素

 <script>
//var body = document.getElementsByTagName("body")[0];
var body = document.body;//body标签
var html = document.documentElement;//html跟标签
var all = document.all;//所有标签
all = document.getElementsByTagName("*");//与all一样的 console.log(all.length);
for(var i=0; i<all.length; i++){
console.log(all[i]);
}
var box1 = document.getElementsByClassName("box1");//支持IE9以上
console.log(box1.length);
</script>

  document.getElementsByClassName()
  - 根据元素的class属性值查询一组元素节点对象
  - 这个方法不支持IE8及以下的浏览器

<script>
var box1 = document.getElementsByClassName("box1");//支持IE9以上
console.log(box1.length);
</script>

  document.querySelector()
  - 根据CSS选择器去页面中查询一个元素
  - 如果匹配到的元素有多个,则它会返回查询到的第一个元素

<script>
//querySelector(".box1 div")
//需要一个选择器的字符串作为参数,可以根据一个CSS选择器来查询一个元素节点对象
//IE8以上可用,可以用来代替getElementsByClassName()方法
//总会返回唯一一个,如果有多个,只返回第一个
var div = document.querySelector(".box1 div");
console.log(div.innerText);
</script>

  document.querySelectorAll()
  - 根据CSS选择器去页面中查询一组元素
  - 会将匹配到所有元素封装到一个数组中返回,即使只匹配到一个

<script>
//返回数组
var divs = document.querySelectorAll(".box1 div");
console.log(divs.length);
</script>

JavaScript之DOM查询的更多相关文章

  1. JavaScript中DOM查询封装函数

    在JavaScript中可以通过BOM查询html文档中的元素,也就是所谓的在html中获取对象然后对它添加一个函数. 常用的方法有以下几种: ①document.getElementById() 通 ...

  2. javascript --- javascript与DOM

    javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...

  3. JavaScript与DOM

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...

  4. JavaScript 操作 DOM 常用 API 总结

    文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...

  5. 使用原生 JavaScript 操作 DOM

    原文:https://www.sitepoint.com/dom-manipulation-vanilla-javascript-no-jquery/ 微软官方放弃了 IE10-,所以现在可以放心使用 ...

  6. Javascript的DOM总结

    Javascript的DOM总结 DOM DOM 是 W3C(万维网联盟)的标准.DOM 定义了访问 HTML 和 XML 文档的标准: "W3C 文档对象模型(DOM)是中立于平台和语言的 ...

  7. 高性能Javascript(2) DOM编程

    第三部分 DOM编程 文档对象模型(DOM)是一个独立于语言的,使用XML和HTML文档操作的应用程序接口(API).在浏览器中,主要与HTML文档打交道,在网页应用中检索XML文档也很常见.DOM ...

  8. 【repost】Javascript操作DOM常用API总结

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...

  9. 深入理解JavaScript系列(23):JavaScript与DOM(上)——也适用于新手

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API. Javascript和 ...

随机推荐

  1. awk使用实例一则

    $META_DB -N -e "use web_boss_rainbow; select iDsId, sDbname, sHost, sPort, sNameServiceKey,sDri ...

  2. 收放卷及张力控制 PID调试技巧

    1) 小 Kp( 0.01) , 大 Ti ( 20000ms) 2)逐渐增大Kp, 减小Ti ( 20000ms – 3000ms),避免发生震荡 3)观察I-out 是否在0附近 可能原因:卷径不 ...

  3. 团队的初体验与Scrum的初识

    一. 队名及宣言 队名: the better for you 宣言: Change our lives with code 二. 队员及分工 a.承担软件工程的角色 姓名 学号 角色 蒋 婷 B20 ...

  4. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  5. libevent evbuffer参考文章

    https://blog.csdn.net/FreeeLinux/article/details/52799951 http://cache.baiducontent.com/c?m=9d78d513 ...

  6. React中的响应式设计思想和事件绑定

    这两个点是react入门非常重要的两个点,以前我们是直接操作dom的形式去做,react的设计思想和以前直接操作dom是完全不同的,react是一个响应式的框架,他在做编程的时候,强调的是我们不要直接 ...

  7. likelihood(似然) and likelihood function(似然函数)

    知乎上关于似然的一个问题:https://www.zhihu.com/question/54082000 概率(密度)表达给定下样本随机向量的可能性,而似然表达了给定样本下参数(相对于另外的参数)为真 ...

  8. Going deeper with convolutions(GoogLeNet、Inception)

    从LeNet-5开始,cnn就有了标准的结构:stacked convolutional layers are followed by one or more fully-connected laye ...

  9. Django ORM之QuerySet方法大全

    ################################################################## # PUBLIC METHODS THAT ALTER ATTRI ...

  10. Python程序的执行原理(转)

    1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...