DOM之节点树操作

节点树

   每个html页面载入浏览器的时候,浏览器都会生成一个树形结构,这个树形结构由节点组成,我们称之为节点树或文档树;

  每个HTML标签都是元素节点

  每个标签的属性都是属性节点

  每个标签的文本内容都是文本节点

节点分为: 元素节点 属性节点  文本节点  注释节点

  nodeType   获取节点的类型

  nodeName   获取节点的名称

  nodeValue  获取节点的值

节点 nodeType    nodeName    nodeValue  
元素节点  标签名 1 null
属性节点  属性名 2 属性值
文本节点 #text   3 文本内容
注释节点 #comment    8 注释内容

操作

作用 返回值

document.getElementById(id值)

根据id获取页面指定元素 获取到的是一个元素节点

doument.getElementsByName(name属性值)

据name名称获取页面的指定元素 NodeList,获取到的是一个节点列表,

document.getElementsByClassName(类名)

根据class类名来获取页面的指定元素 NodeList,节点列表

document.getElementsByTagName(标签名)

获取页面中指定的标签元素 NodeList,节点列表

document.getElementsByTagNameNS()

根据命名空间获取指定的元素;  
innerHTML 获取或设置标签的内容  
innerText 获取或设置标签的文本  
tagName 用来获取元素的标签名  
Element.getAttribute(字符串参数属性名) 根据指定属性名获取指定属性的值 字符串

Element.setAttribute

(字符串参数属性名,字符串参数属性值)


给指定属性设置指定的值;

 
Element.removeAttribute(字符串参数属性名)  删除元素指定属性  
element.childNodes 获取某个元素节点的所有子节点 返回值是NodeList
element.attributes 获取某个元素节点的所有属性节点  返回值是NodeList

innerHTML和innerText的区别?

  获取标签内容: innerHTML可以获取到标签内部的所有内容,包括文本,标签,属性等;innerText只能获取到标签里面的文本内容;

  设置标签内容: innerHTML设置的带标签内容,可以被浏览器解析;innerText设置的带标签内容,只会被认为是单纯的文本;

基于element元素节点的属性
 childNodes    获取指定元素的所有子节点,包含空白,文本,元素(NodeList)
 chidren   获取指定元素的所有元素子节点;(NodeList)
 firstChild    获取指定元素的第一个子节点;(Node)
 firstElementChild  获取指定元素的第一个元素子节点;(Element)
lastChild   获取指定元素的最后一个子节点;(Node)
lastElementChild    获取指定元素的最后一个元子节点;(Element)
 parentNode      获取当前节点的父节点;(Node)
 ownerDocument   获取到页面的document节点,一个用浏览器打开的页面就是一个document对象,这个对象也成为document节点
 previousSibling  获取当前节点的前一个兄弟节点;(Node)
 previousElementSibling    获取当前节点的前一个兄弟元素节点;(Element)
 nextSibling  获取当前节点的下一个兄弟节点
 nextElementSibling  获取当前节点的下一个兄弟元素节点
 attributes   获取当前节点的所有属性节点
childElementCount  获取当前节点的元素节点的个数
 
时间: 2024-08-01 22:08:55

DOM之节点树操作的相关文章

JavaScript基础及函数,BOM,DOM的节点及DOM节点操作

使用js的三种方式 1.直接在HTML标签中,使用事件属性,调用js代码: <button onclick="alert('点我呀')">点我啊!<tton> 2.在页面的任意位置,使用script标签 <script type="text/javascript"> alert('哈哈哈') </script> 3.外部:使用script标签 src属性选择外部地址, type属性选择"text/javasc

DOM之节点操作

DOM提供了很多实用的API,这些API让我们可以轻松的访问HTML文档.所谓API(应用程序接口),简单来说,就是让我们可以直接使用它访问程序的一些属性或方法,而不用了解程序内部的运作过程和原理. 前面我们已经了解了DOM把HTML文档解析为节点树,实际上HTML节点树只是整个DOM树的一个分支,另一个分支则是XML.在详细介绍HTML DOM节点的操作之前,先来看一下完整的DOM树: 网上没找到关于完整的DOM树的图,所以自己大致做了一个.准确说这个应该叫DOM继承树,因为很多我们常用的DO

笔记-[1]-DOM的节点操作详解.

DOM:文档对象模型 操作DOM基本就是操作DOM的元素节点. 节点的属性: 1:objElement.childNodes  :获取该元素对象的的节点集合,有length长度属性,在标准浏览器下使用,会辩认文本节点的节点,一般不用,有其他的更好的属性(children) 2:objElement.children :     获取该元素对象的的节点集合,有length长度属性,在ie8下和其他标准浏览器兼容,只获取元素节点. 3:obj.nodeType   :获取对象的节点类型,1为元素节点

JavaScript之jQuery-3 jQuery操作DOM(查询、样式操作、遍历节点、创建插入删除、替换、复制)

一.jQuery操作DOM - 查询 html操作 - html(): 读取或修改节点的HTML内容,类似于JavaScript中的innerHTML属性 文本操作 - text(): 读取或修改节点的文本内容,类似于JavaScript中的textContent属性 值操作 - val(): 读取或修改节点的value属性值,类似于 JavaScript 中的value值 属性操作 - attr(): 读取或者修改节点的属性 - removeAttr(): 删除节点的属性 二.jQuery操作

dom节点的操作

dom节点的操作 -- jQuery 内部插入 1.(结尾)append 方法 . appendto方法(为了方便链式操作) (开头)prepend方法 $('#div1').append($('#div2'));     //将div2 插入到 div1 里面的末尾 ? $('#div1').appendto($('#div2'));     //将div1 插入到 div2 里面的末尾 ? $('#div1').prepend($('#div2'));     //将div2 插入到 div

JS遍历DOM 节点树的实现

本文将分享 DOM 节点树深度遍历.广度遍历代码. 假定我仅遍历 body 且其结构如下: <body> <section class="container"> <div class="left"> <div class="menu"></div> </div> <div class="right"> <div class="b

javaScript DOM节点树

1. 例如: <html> <head> <title>节点树<title/> <head/> <body> <p>学生信息<p/> <ul id ="ul1"> <li>姓名<li/> <li id="sex">性别<li/> <li>年龄<li/> <ul/> <bo

DOM之节点层次

1.1 Node类型 DOM1级定义了一个Node接口,该接口将由DOM中的所有节点类型实现.这个Node接口在JS中是作为Node类型实现的:除了IE之外,其他浏览器可访问这个类型.JS中的所有节点类型都继承自Node类型.注意:不是所有节点类型都受到了Web浏览器的支持. 每个节点都有一个childNodes属性,其中保存着一个NodeList对象.NodeList是一种类数组对象,并不是Array的实例.它实际是基于DOM结构动态执行查询的结果.除了在IE8-中,可以使用Array.pro

DOM特性节点ATTRIBUTE

定义 每个元素都有一个或多个特性,这些特性的用途是给出相应元素或内容的附加信息.实质上,特性节点就是存在于元素的attributes属性中的节点. 特征 nodeType:2 nodeName:特性的名称 nodeValue:特性的值 parentNode:null childNode:chrome.firefox下为undefined,safari下为Text,IE9+下为子元素的特性名,IE8-下报错 [注意]尽管Attribute也是节点,但却不被认为是DOM文档树的一部分,开发人员常用g