`

HTML DOM的nodeType值

    博客分类:
  • js
阅读更多
将HTML DOM中几个容易常用的属性做下记录:

nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。
nodeName 属性含有某个节点的名称。

元素节点的 nodeName 是标签名称
属性节点的 nodeName 是属性名称
文本节点的 nodeName 永远是 #text
文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是大写的

nodeValue
对于文本节点,nodeValue 属性包含文本。

对于属性节点,nodeValue 属性包含属性值。

nodeValue 属性对于文档节点和元素节点是不可用的。

nodeType
nodeType 属性可返回节点的类型。

最重要的节点类型是:

元素类型 节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

HTML文件:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DOM标准</title>
<script type="text/javascript" src="test.js"></js>
</head>
<body>
<h1 id="h1">An HTML Document</h1>
<p id="p1">This is a <i>W3C HTML DOM</i> document.</p>
<p><input id="btnDemo1" type="button" value="取H1 Element节点值"></p>
<p><input id="btnDemo2" type="button" value="取H1 Element节点文本"></p>
<p><input id="btnDemo3" type="button" value="取Document Element节点文本"></p>
<p><input type="button" alt="这是个演示按钮" title="演示按钮提示标题" name="btnShowAttr" id="btnShowAttr" value="按钮节点演示" /></p>
</body>
</html>JS:
function showElement(){
var element=document.getElementById("h1");//h1是一个<h1>标签
alert('nodetype:'+element.nodeType);//nodeType=1
alert('nodeName:'+element.nodeName);
alert('nodeValue:'+element.nodeValue); //null
alert('element:'+element);  
}

function showText(){
var element=document.getElementById("h1");
var text=element.childNodes[0];
alert('nodeType:'+text.nodeType);  //nodeType=3
alert('nodeValue:'+text.nodeValue);  //文本节点的nodeValue是其文本内容
text.nodeValue=text.nodeValue+"abc"; //文本内容添加修改删除等等。
alert('nodeName:'+text.nodeName);
alert(text.data);   //data同样是其内容,这个属性下同样可以增删改。
}

function showDocument(){
alert('nodeType:'+document.nodeType);  //9
alert('nodeName:'+document.nodeName);
alert(document);
}

function showAttr(){
var btnShowAttr=document.getElementById("btnShowAttr"); //演示按钮,有很多属性
var attrs=btnShowAttr.attributes;
for(var i=0;i<attrs.length ;i++){
  var attr=attrs[i];
  alert('nodeType:'+attr.nodeType); //attribute 的nodeType=2
  alert('attr:'+attr);
  alert('attr.name:'+attr.name+'='+attr.value);
 
}

}

function demo(){
var btnDemo1=document.getElementById("btnDemo1");
btnDemo1.onclick=showElement;  //按钮1取节点nodetype值
var btnDemo2=document.getElementById("btnDemo2");
btnDemo2.onclick=showText;
var btnDemo3=document.getElementById("btnDemo3");
btnDemo3.onclick=showDocument;
var btnShowAttr=document.getElementById("btnShowAttr");
btnShowAttr.onclick=showAttr;

}
window.onload=demo;




注释:Internet Explorer 会忽略节点之间生成的空白文本节点(比如换行字符),而 Mozilla 不这么做。因此,在下面的例子中,我们用一个函数来检测第一个子节点的节点类型。

元素节点的节点类型是 1,因此假如第一个子节点不是元素节点,则移动到下一个节点,并检测该节点是否是元素节点。这个过程一直持续到找到第一个子节点为止。这种方法可以确保在 Internet Explorer 和 Mozilla 都获得正确的结果。

如需更多有关 IE 与 Mozilla 浏览器差异的内容,请访问 W3School 的 XML DOM 教程中的 DOM 浏览器 这一节。
实例
在所有的例子中,我们将使用 XML 文件 books.xml,以及 JavaScript 函数 loadXMLDoc()。

下面的代码片段从 "books.xml" 中获取第一个子节点:

//check if the first node is an element node
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
return x;
}

xmlDoc=loadXMLDoc("books.xml");

var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);

for (var i=0;i<firstNode.childNodes.length;i++)
{
  if (firstNode.childNodes[i].nodeType==1)
  {
  //Process only element nodes
  document.write(firstNode.childNodes[i].nodeName);
  document.write(" = ");
  document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  }
}以上代码的输出:

title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00
分享到:
评论

相关推荐

    HTML DOM的nodeType值介绍

    - 文档片段节点(DOCUMENTFRAGMENT),nodeType值为11。 例如,在一段HTML代码中,一个元素节点会被识别为nodeType为1,它的标签名称可以通过nodeName属性获取,其值为"H1"。在JavaScript脚本中,如果要获取该节点...

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

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

    DOM常用属性和方法

    为了更好地管理和操作这些节点,DOM定义了`nodeType`属性来区分不同的节点类型。下面列举了一些常见的节点类型及其对应的`nodeType`值: - **Element**: `Node.ELEMENT_NODE` (值为1),表示HTML或XML文档中的元素...

    DOM基础教程之使用DOM

    节点类型可以通过`nodeType`属性值来识别,其中元素节点的`nodeType`值为1。 5. 利用父子兄节点关系 在DOM树中,每个节点都可能有父节点、子节点和兄弟节点。可以通过`childNodes`属性来访问包含文本节点的元素节点...

    JavaScript DOM编程艺术 附录.pdf

    每个DOM节点都有一系列的属性,如`nodeType`、`nodeName`、`nodeValue`等,它们分别表示节点类型、节点名称和节点值。例如,元素节点的`nodeType`为1,文本节点的`nodeType`为3。 #### 遍历节点树 DOM提供了遍历...

    DOM下的节点属性和操作小结

    2 .nodeType 值:1,元素节点;2,属性节点;3,文本节点。nodeType是只读的。 3 .nodeValue 返回一个字符串,指示这个节点的值。元素节点返回null,属性节点返回属性值,文本节点返回文本。nodeValue可读可写,这...

    JavaScript DOM编程

    - 访问节点:通过`getElementById`、`getElementsByTagName`等方法可以查找特定ID或标签的元素,`nodeName`、`nodeValue`和`nodeType`属性则提供了节点的名称、值和类型信息。 - 增删改:`createElement`和`...

    DOM_参考手册.pdf

    DOM(文档对象模型)是一种用于HTML和XML文档的编程接口。它提供了表示和交互文档的结构,允许程序和脚本动态地访问和更新文档的内容、结构和样式。以下是从提供的文件内容中提取出的知识点: ### 1. 节点DOM模型 #...

    JS DOM pink教程源码

    JavaScript DOM(Document Object Model)是Web开发中的一个关键部分,它允许我们通过编程方式与HTML或XML文档交互。DOM是一个树形结构,表示了页面上的元素、属性和文本,为JavaScript提供了一种标准的方式来访问和...

    xml-DOM教学PPT

    DOM2级扩展了DOM,增加了遍历文档、HTML文档结构、CSS操作、事件处理等接口。DOM3级进一步增强了命名空间支持和更多事件处理,尽管仍在发展之中。 DOM的节点层次结构如下: 1. Document:最顶层的节点,包含整个...

    Js nodeType 属性全面解析

    在JavaScript中,`nodeType`属性是一个非常重要的概念,它用于获取HTML或XML文档中DOM节点的类型。这个属性返回一个整数值,每个值代表了特定类型的节点,这对于理解和操作DOM树至关重要。以下是对`nodeType`属性的...

    JavaScript利用HTML DOM进行文档操作的方法_.docx

    ### JavaScript 利用 HTML DOM 进行文档操作的方法 #### DOM 概述 文档对象模型 (DOM) 是 W3C 制定的一项标准,用于访问和处理 XML 和 XHTML 等结构化的文档。DOM 提供了一个平台和语言中立的接口,使得程序和脚本...

    xml.rar_DOM_XML DOM_dom xml_xml

    7. **属性操作**:`getAttribute()`和`setAttribute()`分别用于获取和设置元素的属性值,`hasAttribute()`检查元素是否包含特定属性,`removeAttribute()`移除属性。 8. **事件和命名空间**:DOM支持事件处理,可...

    AJAX文档对象模型DOM

    例如,Element节点的`nodeType`值为1,Text节点的值为3,Document节点的值为9。`document`对象是DOM树的根,它包含了整个HTML文档,而`documentElement`属性则指向文档的根元素,即`&lt;html&gt;`。 在JavaScript中,我们...

    第06章 DOM节点操作(上)

    2. **节点属性**:每个节点都有属性,如`nodeType`表示节点类型,`nodeValue`获取或设置文本节点的值,`parentNode`指向父节点,`childNodes`包含子节点列表。 3. **创建和插入节点**:可以使用`document....

    js dom对象的操作

    - **nodeType**:数字类型,表示节点的类型常量值之一。 - **ownerDocument**:指向这个节点所属的文档。 - **firstChild**:指向在`childNodes`列表中的第一个节点。 - **lastChild**:指向在`childNodes`列表中的...

    采集基本概念Web信息检索与数据抓取网页DOM结构3优秀文档.pptx

    在 HTML 中,访问 DOM 对象的节点属性在所有浏览器中都支持,但低版本 IE并不支持访问属性节点的值。例如: `&lt;table id="table" style="color:#ff00ff" border=0&gt;&lt;/table&gt;` 可以通过以下代码访问表格的属性: `...

    JS的简单DOM操作

    JS中的DOM操作是JavaScript与网页交互的核心技术,用于动态更新、添加、删除和修改HTML或XML文档中的元素。DOM(Document Object Model)是一种标准,它将网页内容组织成一棵结构化的节点树,允许通过编程方式对这些...

Global site tag (gtag.js) - Google Analytics