一、getElementById()

  寻找一个有着给定 id 属性值的元素,返回值是一个有着给定 id 属性值的元素节点。如果不存在,这样的元素,它返回 null.

二、getElementsByName()

  寻找有着给定name属性的所有元素,这个方法将返回一个节点集合,这个集合可以当作一个数组来处理。这个集合的 length 属性等于当前文档里有着给定name属性的所有元素的总个数。

三、getElementsByTagName()

  寻找有着给定标签名的所有元素,这个方法将返回一个节点集合,这个集合可以当作一个数组来处理这个集合的 length 属性等于当前文档里有着给定标签名的所有元素的总个数。

四、hasChildNodes()

  该方法用来检查一个元素是否有子节点,返回值是 true 或 false

  文本节点和属性节点不可能再包含任何子节点,所以对这两类节点使用 hasChildNodes 方法的返回永远是 false.

  如果 hasChildNodes 方法的返回值是 false,则 childNodes,firstChild,lastChild 将是空数组和空字符串。

五、nodeName和nodeType

  文档里的每个节点都有以下属性。
  nodeName:返回一个字符串,其内容是给定节点的名字 
  var name = node.nodeName;
 

* 如果节点是元素节点,nodeName返回这个元素的名称

* 如果是属性节点,nodeName返回这个属性的名称

* 如果是文本节点,nodeName返回一个内容为#text 的字符串

  注:nodeName 是一个只读属性。

nodeType:返回一个整数,这个数值代表着给定节点的类型。
•nodeType 属性返回的整数值对应着 12 种节点类型,常用的有三种:
•Node.ELEMENT_NODE    ---1    -- 元素节点
•Node.ATTRIBUTE_NODE  ---2    -- 属性节点
•Node.TEXT_NODE       ---3    -- 文本节点
•nodeType 是个只读属性
nodeValue:返回给定节点的当前值(字符串)
•如果给定节点是一个属性节点,返回值是这个属性的值。
• 如果给定节点是一个文本节点,返回值是这个文本节点的内容。
•如果给定节点是一个元素节点,返回值是 null
• nodeValue 是一个 读/写 属性,但不能对元素节点的 nodeValue 属性设置值,
 但可以为文本节点的 nodeValue 属性设置一个值
 var li = document.getElementByIdx_x_x_x(“li”);
 if(li.firstChild.nodeType == 3)
 li.firstChild.nodeValue = “myLi”;
六、replaceChild()
  把一个给定父元素里的一个子节点替换为另外一个子节点
    var reference = element.replaceChild(newChild,oldChild);
  返回值是一个指向已被替换的那个子节点的引用指针。
  如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中
 
七、查询属性节点和属性节点的值、删除和添加属性
  getAttribute()  
  返回一个给定元素的一个给定属性节点的值
  var attributeValue = element.getAttribute(attributeName);
  给定属性的名字必须以字符串的形式传递给该方法。
  给定属性的值将以字符串的形式返回,如果给定属性不存在,getAttribute() 将返回一个空字符串.
  getAttributeNode()
  通过属性获取属性节点
  setAttribute()
  将给定元素节点添加一个新的属性值或改变它的现有属性的值
   element.setAttribute(attributeName,attributeValue);
   •属性的名字和值必须以字符串的形式传递给此方法
   •如果这个属性已经存在,它的值将被刷新;
   •如果不存在,setAttribute()方法将先创建它再为其赋值。
removeAttribute()
   •删除指定名字的属性
 
八、创建新元素节点,创建文本节点
createElement_x_x()
•按照给定的标签名创建一个新的元素节点。方法只有一个参数:将被创建的元素的名字,是一个字符串.
var reference = document_createElement_x_x(element);
•方法的返回值:是一个指向新建节点的引用指针。返回值是一个元素节点,所以它的
nodeType 属性值等于 1。
•新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性,它只是一个存在于JavaScript 上下文的对象.
     var pElement = document_createElement_x_x("p");
createTextNode()
   •创建一个包含着给定文本的新文本节点。这个方法的返回值是一个指向新建文本节点引用指针。
   var textNode = document_createTextNode(text);
   •方法只有一个参数:新建文本节点所包含的文本字符串
   •方法的返回值:是一个指向新建节点的引用指针。它是一个文本节点,所以它的 nodeType 属性
   等于 3.
  •新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性
 
九、innerHTML 属性
  浏览器几乎都支持该属性,但不是 DOM 标准的组成部分。
  innerHTML 属性可以用来读,写某给定元素里的 HTML 内容。
 
十、插入节点
la()
  •为给定元素增加一个子节点: 
        var newreference = element.a(newChild).             
    给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点。
   •方法的返回值是一个指向新增子节点的引用指针。
   •该方法通常与 createElement_x_x() createTextNode() 配合使用
   •新节点可以被追加给文档中的任何一个元素
insertBefore()
   •把一个给定节点插入到一个给定元素节点的给定子节点的前面
   var reference =  element.insertBefore(newNode,targetNode);
    节点 newNode 将被插入到元素节点 element 中并出现在节点 targetNode 的前面.
   •节点 targetNode 必须是 element 元素的一个子节点。
   •该方法通常与 createElement_x_x() 和 createTextNode() 配合使用
注意:
DOM 没有提供 insertAfter() 方法但可以自己定义如下:
selectElement.insertBefore(
•newOptionElement,
•optionElement.nextSibling);
 
childNodes:返回一个数组,这个数组由给定元素节点的子节点构成:

var nodeList = node.childNodes;

•文本节点和属性节点都不可能再包含任何子节点,所以它们的 childNodes 属性永远会返回一个空数组。
•如果想知道某个元素有没有子节点,可以用 hasChildNodes 方法。
•如果想知道某个元素有多少个子节点,可以用 childNodes 数组的 length 属性。
•childNodes 属性是一个只读属性。
 
  removeChild()
•从一个给定元素里删除一个子节点

var reference = element.removeChild(node);

•返回值是一个指向已被删除的子节点的引用指针。
•某个节点被removeChild()方法删除时,这个节点所包含的所有子节点将同时被删除。
•如果想删除某个节点,但不知道它的父节点是哪一个,parentNode 属性可以帮忙。
firstChild:该属性返回一个给定元素节点的第一个子节点,返回这个节点对象的指针。

var reference = node.firstChild;

•文本节点和属性节点都不可能包含任何子节点,所以它们的 firstChild 属性永远会返

回 null。

•某个元素的 firstChild 属性等价于这个元素的 childNodes 节点集合中的第一个节点,即:

var reference = node.ChildNodes[0];

•firstChild 属性是一个只读属性。
  lastChild:对应 firstChild 的一个属性。
  nextSibling: 返回一个给定节点的下一个兄弟节点。
  parentNode:返回一个给定节点的父节点。
•parentNode 属性返回的节点永远是一个元素节点,因为只有元素节点才有可能包含子节点。
•document 节点没有父节点。
  previousSibling:返回一个给定节点的上一个兄弟节点

DOM常用操作总结的更多相关文章

  1. JavaScript DOM 常用操作

    1.理解DOM: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两个角度理解: 对于JavaScript ...

  2. (一)DOM 常用操作 —— “查找”节点

    在 DOM 树中,如果想要操作一个节点,那么首先要"查找"到这个节点.查找节点的方法由 Document 接口定义,而该接口由 JavaScript 中的 document 对象实 ...

  3. HTML基础之DOM常用操作

    DOM(Document Object Model ),文档对象模型,主要用于对HTML和XML文档的内容进行操作. 一.查找节点 直接获取标签 document.getElementById('i1 ...

  4. DOM常用操作,Sass基础

    一个元素的子元素个数ParentNode.childElementCount 只读属性返回一个无符号长整型数字,表示给定元素的子元素数. 取消当前事件e.preventDefault();有时候我们选 ...

  5. dom常用操作

    创建节点:document.createElement(元素名), document.createTextNode(文本内容) 添加节点:parent.appendChild(newChild) 移除 ...

  6. HTML DOM和BOM常用操作总结

     JavaScript Code  1234567891011121314151617181920212223242526272829303132333435363738394041424344454 ...

  7. JS操作DOM常用API总结

    <JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...

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

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

  9. 深入理解DOM节点操作

    × 目录 [1]创建节点 [2]插入节点 [3]移除节点[4]替换节点[5]复制节点 前面的话 一般地,提起操作会想到“增删改查”这四个字,而DOM节点操作也类似地对应于此,接下来将详细介绍DOM的节 ...

随机推荐

  1. c++的引用

    /*#include"iostream"using namespace std;void any_function(int & p);//声明函数any_function/ ...

  2. 最新IP地址数据库 二分逼近&二分查找 高效解析800万大数据之区域分布

    最新IP地址数据库  来自 qqzeng.com 利用二分逼近法(bisection method) ,每秒300多万, 比较高效! 原来的顺序查找算法 效率比较低 readonly string i ...

  3. Caffe框架下的图像回归测试

    Caffe框架下的图像回归测试 参考资料: 1. http://stackoverflow.com/questions/33766689/caffe-hdf5-pre-processing 2. ht ...

  4. YbSoftwareFactory 代码生成插件【十五】:Show 一下最新的动态属性扩展功能与键值生成器功能

    YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. 一.动态属性扩展 在实际的开发过程中,你肯定会遇到数 ...

  5. C#中常用的转义字符及@符号的一些作用

    转义符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符. \n:表示换行.  /b表示一个退格键.放到字符串两边没有效果. \t:表示tab键的空格 \":表示一个英文半角的 ...

  6. 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放

    可能是被释放的property本身是OC对象而它的属性被误写成assign,例如: @interface MyItem : Object @property (nonatomic, assign) N ...

  7. CSS3 笔记二(Gradients)

    CSS3 Gradients Two types of gradients: Linear Gradients (goes down/up/left/right/diagonally) Radial ...

  8. STM32与FreeRTOS实现低功耗

    在工作过程中,遇到这样一个产品,它基于 Cortex-M7 内核的 STM32F769 芯片,同时使用了 FreeRTOS 实时操作系统. 由于该产品使用电池供电,因此有着低功耗的需求. 接下来,我将 ...

  9. DragRow-GYF

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DragRowDemo.as ...

  10. C# Winform中DataGridView绑定后DataGridViewCheckBoxColumn无法显示的问题

    在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动 ...