一、Node
DOM模型定义了Node接口,在DOM中的每个节点都是一个Node(即实现了Node接口),每个Node都有自身的Node类型,可以通过nodeType属性返回的数值区分,以下是各种节点类型所对应的数值:
Node.ELEMENT_NODE: 1
Node.ATTRIBUTE_NODE: 2
Node.TEXT_NODE: 3
Node.CDATA_SECTION_NODE: 4
Node.ENTITY_REFERENCE_NODE: 5
Node.ENTITY_NODE: 6
Node.PROCESSING_INSTRUCTION_NODE: 7
Node.COMMENT_NODE: 8
Node.DOCUMENT_NODE: 9
Node.DOCUMENT_TYPE_NODE: 10
Node.DOCUMENT_FRAGMENT_NODE: 11
Node.NOTATION_NODE: 12
知道了这些信息之后,可以通过以下方法判断节点对象的类型:
//IE9以下不支持 if (someNode.nodeType == Node.ELEMENT_NODE){ alert("Node is an element."); } //所有浏览器都支持 if (someNode.nodeType == 1){ alert("Node is an element."); }
要获得Node的信息,使用以下方法:
var divNode = document.createElement("div"); var textNode = document.createTextNode("Text Node"); alert(divNode.nodeName); //DIV alert(divNode.nodeValue); //null alert(textNode.nodeName); //#text alert(textNode.nodeValue); //Text Node
二、Node关系相关的属性
var node = document.getElementById("test"); //上一个兄弟节点 var prevSibling = node.previousSibling; //下一个兄弟节点 var nextSibling = node.nextSibling; //所有(一级)子节点 var childNodes = node.childNodes; //父节点 var parentNode = node.parentNode; //第一个(一级)子节点 var firstChildNode = node.firstChild; //最优一个(一级)子节点 var lastChildNode = node.lastChild; //是否存在子节点 var hasChildNodes = node.hasChildNodes();
三、操纵Nodes
//创建Element节点 var newNode = document.createElement("div"); //创建文本节点 var textNode = document.createTextNode("Created text node"); //复制textNode节点 //参数deep代表是否进行深克隆,若为true,则同时复制子节点 var textNode2 = textNode.cloneNode(false); var node = document.getElementById("test"); //把newNode插入为node的最后一个子节点 node.appendChild(newNode); newNode.appendChild(textNode); //把textNode2插入到textNode之前 node.insertBefore(textNode2, newNode); //从node中移除textNode2(保持被移除元素的引用) var removedChildNode = node.removeChild(textNode2); //用removedChildNode替换newNode node.replaceChild(removedChildNode, newNode); //当某个节点存在两个或以上的相邻的文本节点时, //可以用normalize()方法合并文本节点 node.normalize();
相关推荐
JavaScript DOM编程艺术第二版是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍,主要面向希望提升JavaScript客户端开发技能的程序员。DOM是Web页面的结构化表示,JavaScript通过DOM API可以...
《JavaScript.DOM编程艺术(第2版)》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍。DOM是Web开发中的核心组件,它允许程序员通过JavaScript来操作HTML和XML文档的结构、内容和样式。这本书...
JavaScript DOM编程艺术(第2版)是一本深受程序员喜爱的JavaScript技术书籍,专注于讲解如何使用JavaScript与Document Object Model(DOM)进行交互。DOM是Web页面的结构化表示,它允许我们通过编程方式操纵HTML和XML...
在这个压缩包文件“javascript_DOM操作.rar”中,我们可以找到一个名为“javascript_DOM操作.docx”的文档,它很可能是详细介绍了JavaScript与DOM交互的相关知识。 首先,DOM是网页内容的树状表示,它将HTML或XML...
尽管实际书籍内容并未给出,但从标题、描述及部分链接信息来看,这本书主要涉及JavaScript及其与DOM操作相关的高级编程技巧。下面将基于这些信息,尽可能地扩展和阐述相关知识点。 ### 一、JavaScript简介 ...
在书中,作者会详细介绍如何利用JavaScript与DOM进行交互,这包括选取元素(如通过选择器API或XPath),修改元素属性,以及处理事件。还会探讨如何使用CSS样式和JavaScript结合来实现动态布局和视觉效果。此外,书中...
DOM编程在网页开发中扮演着重要角色,通过JavaScript与DOM的结合使用,开发者可以实现动态交互效果,改善用户体验。 本书不仅介绍了JavaScript和DOM的基本概念,还通过实例展示了如何使用这些技术进行专业的网页...
《初识JavaScript与DOM脚本和Ajax》这本书深入浅出地介绍了JavaScript编程、DOM操作以及Ajax技术的基础知识,是Web开发者的入门指南。JavaScript作为Web前端的核心语言,DOM(Document Object Model)则提供了对HTML...
《JavaScript.DOM编程艺术(第2版)》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威指南。DOM是Web开发中的核心组件,它允许我们通过编程方式操作HTML和XML文档。这本书全面覆盖了使用JavaScript...
DOM是Web页面的结构模型,通过JavaScript与DOM的交互,开发者可以实现对网页内容的动态操作和控制。这本书深入浅出地讲解了如何使用JavaScript来操纵DOM,从而实现丰富的用户界面和动态效果。 书中首先介绍了...
《JavaScript+DOM编程艺术》是一本深入探讨JavaScript与DOM(Document Object Model)结合使用的经典教程。这本书旨在为读者提供JavaScript语言基础以及DOM操作的核心技能,同时强调了在前端Web开发中至关重要的设计...
《JavaScript.DOM高级程序设计》是一本深入探讨JavaScript与DOM(Document Object Model)交互技术的专业书籍。DOM是Web页面内容的结构化表示,JavaScript通过DOM API可以直接操作页面元素,实现动态效果和交互功能...
《JavaScript DOM编程艺术》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍。DOM是HTML和XML文档的结构化表示,JavaScript通过DOM API能够对网页内容进行动态操作,实现丰富的交互效果。...
《JavaScript DOM编程艺术》是Jeremy Keith撰写的一本经典著作,主要介绍了如何使用JavaScript与DOM(Document Object Model)进行交互,从而实现网页动态效果和富用户体验。DOM是HTML和XML文档的编程接口,允许我们...
《JavaScript+DOM编程艺术》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威著作。这本书详尽地讲解了如何使用JavaScript这门强大的客户端脚本语言,配合DOM API,来实现网页动态化和增强用户...
JavaScript是一种广泛用于网页开发的脚本语言,与DOM结合,可以实现对网页内容的动态修改、事件处理和页面交互。 书中的主要知识点包括: 1. **DOM基础**:理解DOM的基本概念,如节点类型(元素节点、属性节点、...