`
e421083458
  • 浏览: 22206 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

dom 的基本操作介绍——节点层次——Node类型!

阅读更多
1.NODE 类型
  NODE.ELEMENT_NODE其结果就等于1
举例:
if(someNode.nodeType == Node.ELEMENT_NODE)
alert("Node is an element");

在以代码在IE下面不兼容,所以要把Node.ELEMENT_NODE改成1才能生效。
2.nodeName 和 nodeValue属性
if(someNode.nodeType == 1)
value = someNode.nodeName;

以上语句说明,如果的节点类型为元素类型时,nodeName 为元素标签值,nodeValue 值为null。
3.节点关系,啥也不说了,直接看例子:
var firstChild = someNode.childNodes[0];
var secondChild = someNode.childNodes.item(1)'
var cout = someNode.childnodes.length;

前两项都描述了的怎样读取子节点的值。
4.将子节点转化成数组的函数:convertToArray()
function converToArray()
{
var array = null;
try{
array = Array.prototype.slice.call(nodes,0);
}catch (ex){
array = new Array();
for(var i=0,len=nodes.length;i<len;i++)
{
array.push(nodes[i]);
}
}
return array;
}
\
这个函数彻底改变IE不兼容Array.prototype.slice.call()这个函数的问题了!
5.节点之间的关系有多种:
父节点 parentNode
子节点 childNodes
首节点 firstchild
尾节点 lastchild
下节点 nextSibling
上节点 previousSibling
6.节点的操作
因为关系指针都是只读的,所以这里涉及到了的节点的操作方法。
appendChild举两例
var returnedNode = someNode.appendChild(newNode);
alert(returnedNode == newNode);
alert(someNode.lastChild ==newNode);

第二例:
var returnedNode = someNode.appendChild(someNode.firstChild);
alert(returnNode == someNode.firstChild);
alert(returnNode == someNode.lastChild);

insertBefore举例
//插入后成为最后一个节点
returnedNode = someNode.insertBefore(newNode, null);
alert(newNode == someNode.lastChild);

//插入后成为第一个子节点
var returnNode = someNode.insertBefore(newNode, someNode.firstChild0);
alert(returnNode == newNode);
alert(newNode == someNode.firstChild);//true

//插入到最后一个子节点
returnedNode == someNode.insertBefore(newNode, someNode.lastChild);
alert(newNode == someNode.childNodes[someNode.childNodes.length-2]);


替换子节点
//替换第一个节点
var returnedNode = someNode.replaceChild(newNode, someNode.firstChild);

移除节点
//移除第一个节点
var formerFirstChild = someNode.removeChild(someNode.firstChild);

7.其它操作:cloneNode,参数true时表示复制节点本身及节点下级所有节点,false时表示只复制本身节点。
var deepList = myList.cloneNode(true);
alert(deepList.childNodes.length);

var shallowList = myList.cloneNode(false);
alert(shallowList.childNodes.length);

这里说明一点:复制后返回的节点副本本属于文档所有,但并没有为它指定父节点。因此,这个节点副本就成为了一个“孤儿”(挺生动吧),除非通过appendChild(),insertBefore(),replaceChild()将它添加到文档中。
好了将完了~~~~个人觉得的这样的基础挺重要的,所以写下来吧!
0
0
分享到:
评论

相关推荐

    DOM解析(csdn)————程序.pdf

    - Node:所有类型节点的基接口,提供了通用的操作,如添加、删除、复制和移动节点。 - Attr:代表元素的属性,可以获取或设置属性值。 使用DOM解析XML文件时,首先需要加载XML文档到内存,然后通过DOM API创建...

    dom解析基本操作删除 修改……

    遍历DOM树的过程中,可以通过检查每个节点的类型来确定是否为元素节点(`ELEMENT_NODE`),如果是,则可以根据节点名称来执行相应的操作。 ```java for (int i = 0; i (); i++) { Node node = nodeList.item(i); ...

    jacascript DOM节点——元素节点、属性节点、文本节点

     元素节点的三个node属性:nodeType:1、nodeName/TagName:元素的标签名大写、nodeValue:null;  其父节点 parentNode 指向包含该元素节点的元素节点 Element 或文档节点 Document;  元素的 childNodes 属性中...

    java解析xml——dom

    ### Java解析XML——DOM详解 #### 一、DOM解析概念 **Document Object Model (DOM)**是一种平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM最初是为HTML设计的,但后来也被...

    JavaScript程序设计——DOM访问实验报告.docx

    - `firstChild`, `lastChild`, `nodeName`, `nodeValue`, `nodeType`, `nextSibling`, `parentNode`: 这些属性帮助遍历和操作DOM树,例如查找或操作元素的第一个子节点、最后一个子节点,获取元素的类型和值等。...

    安卓Android源码——xml-dom201311060201.zip

    《安卓Android源码解析——XML DOM解析框架》 在安卓Android开发中,XML(eXtensible Markup Language)作为一种标记语言,广泛用于数据交换、配置文件等场景。XML文档对象模型(Document Object Model, DOM)是...

    Android创建与解析XML(二)——详解Dom方式

    ***.w3c.dom:包含了DOM操作的接口,如Document, Element, Node等。 4. javax.xml.parsers.ParserConfigurationException:用于异常处理。 5. javax.xml.transform.TransformerFactoryConfigurationError; 6. javax...

    DOM学习——创建、添加、删除节点

    目录添加新元素:创建+添加节点创建节点添加节点删除节点 添加新元素:创建+添加节点 创建节点 document.createElement(‘tagName’) 创建有tagName 指定的HTML元素,因为这些元素原先不存在,是根据我们的需求动态...

    JavaScriptDOM编程艺术(第2版)PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于JavaScript DOM编程技术的书籍——《JavaScript DOM编程艺术(第2版)》。尽管实际书籍内容并未给出,但从标题、描述及部分链接信息来看,这本书主要涉及JavaScript...

    前端开源库-htmldom

    《前端开源库——htmldom:Node.js中的HTML处理利器》 在当今互联网技术日新月异的时代,前端开发人员面临着各种挑战,其中一项便是如何有效地处理和操作HTML文档。在此背景下,`htmldom`应运而生,它是一个专门为...

    dom规范和java中的实现(二).docx

    本文将深入探讨DOM规范中的核心接口——Node接口及其相关方法。 Node接口是DOM树中的基本组件,它代表了树中的一个节点,可以是元素、属性、文本等。Node接口包含了多种类型的常量,如ATTRIBUTE_NODE、ELEMENT_NODE...

    HTML DOM学习

    DOM将整个HTML文档解析成一个节点树,其中每个组成部分——从整个文档到单个字符——都被表示为一个独立的节点。 HTML DOM主要分为三个部分:核心DOM、XML DOM和HTML DOM。核心DOM适用于任何结构化的文档,XML DOM...

    unwrap-node:解开给定的 DOM 元素并返回其子节点周围的 Range

    `unwrap-node`是一个非常实用的库,专门用于处理DOM中的特定任务——解开一个给定的DOM元素,并返回其子节点所包围的Range对象。Range对象在DOM中扮演着重要角色,它能定义文档中的一段内容,并提供了对这段内容进行...

    解析DOM

    1. **节点(Node)**:DOM中的基本单元,包括元素节点、属性节点、文本节点等。每个节点都有自己的类型、名称和值。 2. **元素(Element)**:HTML或XML文档中的标签,如`&lt;div&gt;`、`&lt;p&gt;`等。元素节点包含属性和子...

    W3C 标准文档,介绍dom模型对象等标准

    **W3C标准文档——DOM模型对象详解** 在Web开发领域,W3C(World Wide Web Consortium)是一个至关重要的组织,它制定了一系列的开放标准,包括HTML、CSS、XML以及我们今天要讨论的DOM(Document Object Model)。...

    第9章 JS-Web-API-DOM【学会DOM,才能具备网页开发的基础】.rar

    在学习DOM时,首先要理解其基本概念,包括节点(Node)、元素(Element)、属性(Attribute)和文本(Text)。每一个HTML标签、属性以及文本都被视为一个特定类型的节点,这些节点构成了一棵DOM树。通过遍历这棵树,...

    ASP.NET——XML文件操作篇

    本文将详细介绍如何在 ASP.NET 中进行 XML 文件的基本操作,包括读取与写入,并进一步探讨不同的读取方法:DOM 方式、XMLReader 方式以及 XPath 方式。 #### 二、XML 文件的写入 **1. 写入 XML 文件** 在 ASP.NET...

    dom4j-1.6.1.zip

    《深入理解DOM4J——基于dom4j-1.6.1.zip的解析与应用》 DOM4J,作为Java领域中的一个强大的XML处理库,因其简单易用、功能全面的特点,深受广大开发者喜爱。本篇文章将围绕"dom4j-1.6.1.zip"这个压缩文件,深入...

    jQuery 1.5 遍历xml节点属性

    在IT领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画以及Ajax交互等任务。本文将详细讲解如何在jQuery 1.5版本中遍历XML节点属性,结合给定的资源——一个名为"test.html"的HTML...

    网页模板——vue添加多级树形插件的源码.zip

    "网页模板——vue添加多级树形插件的源码.zip"这个压缩包文件显然包含了一个Vue项目,重点在于如何在Vue应用中实现多级树形结构。下面我们将详细探讨Vue.js中实现多级树形插件的关键知识点。 首先,我们需要理解Vue...

Global site tag (gtag.js) - Google Analytics