DOM节点信息包括节点类型(nodeType)、节点名称(nodeName)和节点值(nodeValue)。

节点类型

DOM节点中,每个节点都拥有不同的类型。

W3C规范中常用的 DOM节点类型有以下几种:

节点类型 说明
元素节点 每一个HTML标签都是一个元素节点,如 <div> 、 <p>、<ul>等 1
属性节点 元素节点(HTML标签)的属性,如 id 、class 、name 等。 2
文本节点 元素节点或属性节点中的文本内容。 3
注释节点 表示文档注释,形式为<!-- comment text -->。 8
文档节点 表示整个文档(DOM 树的根节点,即 document ) 9

获取节点类型的语法:
    nodeObject.nodeType
其中,nodeObject 为DOM节点(节点对象)。该属性返回以数字表示的节点类型,例如,元素节点返回 1,属性节点返回 2 。

例如,获取id="demo"的<div>标签的节点类型:

  1. document.getElementById("demo").nodeType;

该语句的返回值为 1 。

举例,获取元素节点和文本节点的类型值:

  1. <div id="demo1">点击这里显示节点类型</div>
  2. <script type="text/javascript">
  3. document.getElementById("demo1").onclick=function(){
  4. var divType=this.nodeType;
  5. var textType=this.firstChild.nodeType;  //  this 指当前发生事件的HTML元素,这里是<div>标签
  6. alert(
  7. "<div>标签的节点类型是:"+divType+"\n"+
  8. "<div>标签内部文本的节点类型是:"+textType
  9. );
  10. }
  11. </script>

节点名称

节点名称就是DOM节点的名字,不同类型的节点对应不同的节点名称。

节点类型 节点名称
元素节点 HTML标签的名称(大写)
属性节点 属性的名称
文本节点 它的值永远是#text
文档节点 它的值永远是#document

获取节点名称的语法:
    nodeObject.nodeName
其中,nodeObject 为DOM节点(节点对象)。

例如,获取id="demo"的<div>标签的节点名称:

  1. document.getElementById("demo").nodeName;

该语句的返回值为 DIV 。

举例,获取元素节点名称、文本节点名称和文档节点名称:

  1. <div id="demo2">点击这里显示节点名称</div>
  2. <script type="text/javascript">
  3. document.getElementById("demo2").onclick=function(){
  4. var divName=this.nodeName;
  5. var textName=this.firstChild.nodeName;  //  this 指当前发生事件的HTML元素,这里是<div>标签
  6. var documentName=document.nodeName
  7. alert(
  8. "<div>标签的节点名称是:"+divName+"\n"+
  9. "<div>标签内部文本的节点名称是:"+textName+"\n"+
  10. "文档节点的节点名称是:"+documentName
  11. );
  12. }
  13. </script>

节点值

对于文本节点,节点值为文本内容;对于属性节点,节点值为属性的值。

节点值对于文档节点和元素节点是不可用的。

获取节点值的语法:
    nodeObject.nodeValue
其中,nodeObject 为DOM节点(节点对象)。

举例,获取文本节点的节点值:

  1. <div id="demo3">点击这里显示文本节点的值</div>
  2. <script type="text/javascript">
  3. document.getElementById("demo3").onclick=function(){
  4. alert(this.firstChild.nodeValue);  //  this 指当前发生事件的HTML元素,这里是<div>标签
  5. }
  6. </script>

 
来自:http://www.itxueyuan.org/view/6346.html

【转】JavaScript获取节点类型、节点名称和节点值的更多相关文章

  1. javaScript获取文档中所有元素节点的个数

    HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  2. JavaScript获取浏览器类型与版本

    从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...

  3. JavaScript学习总结(十八)——JavaScript获取浏览器类型与版本

    从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: 1 <script type="text/javascript"> 2 v ...

  4. javascript获取childNodes详情,删除空节点

    chidNodes返回的是node的集合, 每个node都包含有nodeType属性. nodeType取值: 元素节点:1 属性节点:2 文本节点:3 注释节点:8     页面上是由无数个节点组成 ...

  5. javascript 获取dom书的下一个节点。

    利用javascript 写一个在页面点击加减按钮实现数字的累加.. 简略的html大概如此.看得懂就好不要在意这些细节啊 <input type="button" valu ...

  6. 深入理解DOM节点类型第二篇——文本节点Text

    × 目录 [1]特征 [2]空白 [3]属性[4]方法[5]性能 前面的话 文本节点顾名思义指向文本的节点,网页上看到的文字内容都属于文本节点.该节点简单直观,本文将详细介绍该部分内容 特征 文本节点 ...

  7. xpath的数据和节点类型以及XPath中节点匹配的基本方法

    XPath数据类型  XPath可分为四种数据类型:  节点集(node-set)  节点集是通过路径匹配返回的符合条件的一组节点的集合.其它类型的数据不能转换为节点集.  布尔值(boolean)  ...

  8. JavaScript获取table中某一列的值的方法

    1.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  9. JavaScript获取onclick、onchange等事件的值

    今天小菜处理下拉菜单级联问题时,想获取HTML标签中某个事件的内容,也就是值,比如从<select id="city" onchange="javascript:t ...

  10. javascript获取asp.net服务器端控件的值

    代码如下: <%@ Page Language="C#" CodeFile="A.aspx.cs" Inherits="OrderManage_ ...

随机推荐

  1. 什么是Alpha通道?

    图像处理(Alpha通道,RGB,...)祁连山(Adobe 系列教程)****的UI课程 一个也许很傻的问题,在图像处理中alpha到底是什么?  Alpha通道是计算机图形学中的术语,指的是特别的 ...

  2. Themida和Winlicense加壳软件脱壳教程

    (一)Themida和不用license的Winlicense加壳软件就不说了,直接上脚本脱壳. (二)先看看不同版本OEP的一些小特征: Temida2.1.X.X版本之后的OEP特征(2.0.8. ...

  3. 在MyEclipse显示struts2源码和doc文档及自动完成功能

    分类: struts2 2010-01-07 16:34 1498人阅读 评论(1) 收藏 举报 myeclipsestruts文档xmlfileurl 在MyEclipse显示struts2源码和d ...

  4. post和get请求

    get请求:不安全,参数在url地址中的参数的长度不能大于1024字节 post请求:安全,参数都是凤凰族昂在data里的,参数长度不限

  5. entity framework 新手入门篇(1.5)-lambda表达式与linq

    在建立好了EF模型之后,先不着急使用它,在使用它之前,你还需要了解两个相关的技术,lambda表达式与linq. 作为微软C#语言中重要的语法糖-lambda表达式与LINQ,本质都是一个方法,以la ...

  6. 关于android的UI更新机制与误区

    Android系统的消息队列和消息循环都是主线程的,其它后台服务等无法直接更新,必须通过下面的消息队列,由主线程的消息循环去依次执行更新ui: 同时对于费时间超过5秒的事件,比如网络链接等,建议新开线 ...

  7. Hello World!

    博客园的效率真是高啊,开通博客的申请刚刚递交几分钟就通过了,赞一下博客园的程序员们,这么晚还在工作! 博客主要用来记录自己学习HTML5.CSS.PHP等web前端技术的经历,因为是初学者,所以发的文 ...

  8. calender 软文

    http://www.cnblogs.com/cloudgamer/archive/2008/08/23/1274459.html

  9. React Native 的绑定 this

    在React Native开发中,如果使用ES6语法的话,最好绑定this.但是使用ES5语法的话不需要绑定this.因为ES5会autobinding. this所指的就是直至包含this指针的上层 ...

  10. LayaAir引擎——(三)

    LyaAir引擎(JavaScript)实现图片的翻转一半 图片4.png位于bin/开场过渡 文件夹下,图片大小150*30(根据实际情况做调整) var button; var scale1 = ...