今天想看看nodeType到底有几种情况,搜索到http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html,就仔细看了一下,把interface Node这段摘录如下:
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
readonly attribute DOMString nodeName;
attribute DOMString nodeValue;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned short nodeType;
readonly attribute Node parentNode;
readonly attribute NodeList childNodes;
readonly attribute Node firstChild;
readonly attribute Node lastChild;
readonly attribute Node previousSibling;
readonly attribute Node nextSibling;
readonly attribute NamedNodeMap attributes;
readonly attribute Document ownerDocument;
Node insertBefore(in Node newChild,
in Node refChild)
raises(DOMException);
Node replaceChild(in Node newChild,
in Node oldChild)
raises(DOMException);
Node removeChild(in Node oldChild)
raises(DOMException);
Node appendChild(in Node newChild)
raises(DOMException);
boolean hasChildNodes();
Node cloneNode(in boolean deep);
};
其实nodeType有好多种啊,我只记得1和3,这2个比较常见。
这里有有个parentNode这个属性,那我们就来看一下对它的说明了:
The parent of this node. All nodes, except Document, DocumentFragment, and Attr may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is null.
平常还会看到offsetParent、parentElement这些,那这3个有什么区别么?
在W3C上对offsetParent的说明如下:
The offsetParent attribute, when called on element A, must return the element determined by the following algorithm:
If any of the following holds true return null and stop this algorithm:
A does not have an associated CSS layout box.
A is the root element.
A is the HTML body element.
The computed value of the position property for element A is fixed.
If A is an area HTML element which has a map HTML element somewhere in the ancestor chain return the nearest ancestor map HTML element and stop this algorithm.
Return the nearest ancestor element of A for which at least one of the following is true and stop this algorithm if such an ancestor is found:
The computed value of the position property is not static.
It is the HTML body element.
The computed value of the position property of A is static and the ancestor is one of the following HTML elements: td, th, or table.Return null.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<script>
function check(){
var el = document.getElementById("test");
alert(test.offsetParent.tagName+"::::"+test.parentNode.tagName);
}
</script>
<body>
<table width="100">
<tr><td id="test">sss</td></tr>
</table>
<button onclick="check()">check</button>
</body>
</html>
通过上面的代码可以看出在某些情况下offsetParent和parentNode是不同的,当然不仅仅局限于此种情况。
对于parentElement,MSDN上有这么一个评论:
Always use parentNode instead of parentElement
parentNode is standard and supported by most browsers, parentElement is proprietary
所以就不用去研究它了,意义不是很大,除非我们只开发IE only的网页。
对于node中其他的东西还需要在平时的开发过程中慢慢琢磨了,首先要知道它提供了这些方法给我们使用。
分享到:
相关推荐
DOM 标准发展历程是指 DOM 的发展过程,从最初的 DOM Level 0 到现在的 DOM Level 4,DOM 标准一直在发展和完善中。 DOM 操作 DOM 操作是指通过 JavaScript 操作文档的内容和结构。DOM 提供了许多方法和属性,...
8. **DOM Level和版本**:DOM规范分为多个级别,如DOM Level 1、2和3,每个级别扩展了新的功能。了解不同级别的特性可以帮助开发者更高效地利用DOM。 9. **性能优化**:在处理大型XML文档时,理解DOM的性能瓶颈和...
Java的DOM解析器遵循DOM Level 1和Level 2规范,允许Java开发者以类似的方式处理XML。 **手册内容概览**: 这份"DOM中文参考手册"可能涵盖了以下主题: - DOM基本概念和术语 - 节点的类型和操作 - DOM树的构建和...
DOM Level 1 规范是理解现代 Web 技术的基础之一,它定义了处理文档的一套标准方法。通过对 DOM 的掌握,开发者可以更加灵活地控制网页内容和结构,实现动态交互效果。随着技术的发展,虽然出现了更多高效处理文档的...
JavaScript DOM编程是Web开发中的核心技能之一,它允许开发者通过脚本语言操作HTML或XML文档的结构、内容和样式。DOM(文档对象模型)是一种标准的接口,将网页内容表示为一个可编程的对象树,使得JavaScript或其他...
9. **DOM API**: `DOM Level 1`, `DOM Level 2`, `DOM Level 3`分别定义了一系列API,涵盖了文档的加载与交互、样式操作、事件处理等多个方面,提供了丰富的功能供开发者使用。 10. **跨浏览器兼容性**: 不同的...
1. **节点(Node)**:任何在DOM树中的元素都是一个节点,包括元素节点、属性节点、文本节点等。每个节点都有自己的属性和方法,如`nodeName`、`nodeValue`、`parentNode`等。 2. **选择节点(Selecting Nodes)**...
- **节点(Node)**: DOM将整个文档视为一系列相互关联的节点,每个节点代表文档的一个部分,如元素、属性、文本等。 - **树状结构**: 文档中的所有节点形成一个层次结构,类似于一棵倒置的树,称为DOM树。 - **...
在“Dom文档对象模型-2010版.chm”这个压缩文件中,用户可以找到关于DOM2010版的详细规范和指南。CHM(Compiled HTML Help)是微软开发的帮助文件格式,它将一系列HTML页面打包成一个文件,便于阅读和检索。如果在...
1. **节点类型**:DOM中的节点有多种类型,如元素节点(Element Node)、属性节点(Attribute Node)、文本节点(Text Node)和文档节点(Document Node)。元素节点代表HTML或XML文档中的标签,如`<div>`;属性节点...
8. **DOM Level和版本**:DOM有多个级别,如DOM Level 1、Level 2和Level 3,每个级别扩展了新的功能,例如Level 2引入了CSS样式处理,Level 3增加了更多的事件和XML处理。 9. **XML DOM**:除了HTML,DOM也用于...
10. **学习资源**:`Dom文档对象模型-2010版.chm`可能是关于DOM的一个参考资料,`.chm`是Windows的帮助文件格式,包含详细的DOM信息;`说明.htm`可能提供了关于如何使用这些资料的指导;`aspjzy.com.txt`可能是相关...
本篇将深入探讨如何使用DOM4(Document Object Model Level 4)解析XML数据,以实现高效的数据处理。 DOM4是W3C发布的DOM标准的最新版本,它提供了更强大的功能和改进,使得开发者可以更方便地处理XML文档。DOM是一...
此外,文档可能还会涵盖高级主题,如事件处理、遍历DOM树、DOM Level 1、Level 2和Level 3的扩展功能,以及与CSS和XML的交互等。 总的来说,DOM是Web开发中不可或缺的一部分,理解并熟练掌握DOM可以帮助开发者创建...
在Web开发中,操作DOM(文档对象模型)是进行动态网页设计的基本技能之一。文档对象模型(DOM)是一个跨平台和语言独立的接口,允许程序和脚本动态地访问和更新文档的内容、结构和样式。本知识点将详细介绍如何使用...
1. **zepto.js**: 这是Zepto库的基础文件,包含了基本的选择器、DOM操作和事件处理等功能。它是整个库的核心,为其他模块提供基础支持。 2. **event模块**: 用于处理DOM事件,如绑定、触发和移除事件监听器。它使得...