节点的属性{
    nodeType 是节点的类型;
    nodeNam 是节点的名字
    nodeValue 节点的值
}可以用节点.属性 取得三个属性的值
节点.nodeType 出来的结果代表类型、如果是:
                    如果是:数字1      那么代表这个节点是个标签节点类型;
                    如果是:数字2      那么代表这个节点是个属性节点类型;
                    如果是:数字3      那么代表这个节点是个文本节点类型;
节点.nodeNam 出来的结果是节点名字、
                    如果是:大写的标签、  那么代表这个节点是个标签节点;
                    如果是:小写的属性名、 那么代表这个节点是个属性节点;
                    如果是:#text、     那么代表这个节点是个文本节点;
节点.nodeValue 出来的结果是节点的值、
                    如果是:null、        那么代表这个节点是个标签节点;
                    如果是:属性的值、    那么代表这个节点是个属性节点;
                    如果是:文本的内容、 那么代表这个节点是个文本节点;
如下图的HTML:
<div id="dv">
<span>这是div中的第一个span标签</span>
<p>这是div中的第二个元素,第一个p标签</p>
<ul id="uu">
<li>乔峰</li>
<li>鹿茸</li>
<li id="three">段誉</li>
<li>卡卡西</li>
<li>雏田</li>
</ul>
</div>

结果:

var dvObj=document.getElementById("uu");
// 获取里面的每个子节点
// for(var i=0;i<dvObj.childNodes.length;i++){
// var node=dvObj.childNodes[i];
// console.log('节点的类型:'+node.nodeType+' '+"节点的名字:"+node.nodeName+' '+"节点的值:"+node.nodeValue);
// }
var liobj=document.getElementById('three');
console.log(liobj.nodeType+' '+liobj.nodeName+' '+liobj.nodeValue)
// 1 LI null
// 1 代表这个节点是标签类型
// LI 代表这个节点是属性名字
// null 代表这个节点是标签节点

获取相关的节点:

//12行代码:都是获取节点和元素的

  //取得 ul整个节点
var ulObj=document.getElementById("uu");
//节点.parentNode:取得父级节点
console.log(ulObj.parentNode); // 整个div的内容 //节点.parentElement 取得父级元素
console.log(ulObj.parentElement); //整个div的内容(跟节点一样) //节点 .childNodes 取得子节点
console.log(ulObj.childNodes); // NodeList(11) 里面是11个子节点 (5个li 6个空格) //节点.children 取得子元素
console.log(ulObj.children);// HTMLCollection(5) 元素只能是标签(5个li标签) //节点..firstChild 取得第一个子节点
console.log(ulObj.firstChild);//------------------------#text 是一个文本节点 在IE8中是第一个子元素 //节点.firstElementChild 取得第一个子元素
console.log(ulObj.firstElementChild);//----------------- <li>乔峰</li> 注意在IE8中不支持 // 节点.lastChild 取得最后一个子节点
console.log(ulObj.lastChild);//------------------------#text 是一个文本节点 IE8中是第一个子元素 // 节点.lastElementChild 取得最后一个子元素
console.log(ulObj.lastElementChild);//-----------------<li>雏田</li> 注意在IE8中不支持 //某个元素的前一个兄弟节点
console.log(my$("three").previousSibling); // #text 是一个文本节点 //某个元素的前一个兄弟元素
console.log(my$("three").previousElementSibling);// <li>鹿茸</li> //某个元素的后一个兄弟节点
console.log(my$("three").nextSibling);// #text 是一个文本节点 //某个元素的后一个兄弟元素
console.log(my$("three").nextElementSibling);// <li>卡卡西</li> //总结:
      凡是获取节点的代码在谷歌和火狐得到的都是 相关的节点
    凡是获取元素的代码在谷歌和火狐得到的都是 相关的元素
    从子节点和兄弟节点开始,凡是获取节点的代码在IE8中得到的是元素,获取元素的相关代码,在IE8中得到的是undefined----元素的代码,iE中不支持

JS 节点的属性 与 元素的更多相关文章

  1. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  2. javascript_获取iframe框架中元素节点的属性值

    1. DOM:文档对象模型 [window 对象] 它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口. [document 对象] 该对象是window和frames对象的一个属性,是显示于窗口 ...

  3. GSAP JS基础教程--TweenLite操作元素的相关属性

    今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了.   代码里用详细注释,我就不再重复啦,大家看代码就可以啦! ...

  4. 获取元素节点 & 操作属性节点

    1.html 文档编写 js 代码的位置: window.onload事件在整个html文档被完全加载完再执行,    所以可以获取html文档的任何节点 js-window-onload.html ...

  5. js创建节点及其属性

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. HTMLDOM中三种元素节点、属性节点、文本节点的测试案例

    HTML dom中常用的三种节点分别是元素节点.属性节点.文本节点. 具体指的内容可参考下图: 以下为测试用例: <!DOCTYPE html> <html> <head ...

  7. js 节点属性

    节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType ...

  8. js节点属性

    在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType :节点的类 ...

  9. DOM中元素节点、属性节点、文本节点

    DOM中有12中节点,但最常用到的是元素节点,属性节点,文本节点. 元素节点的节点类型(nodeType)是1: 属性节点的节点类型(nodeType)是2: 文本节点的节点类型(nodeType)是 ...

随机推荐

  1. JBPM具体应用之decision节点的使用

    JBPM工作流引擎为我们提供了许多的节点应用,每一个节点都有其不同的作用,其中有四个比较常用的节点,他们分别decision,fork,state和task.在本文中我们先介绍decision节点,余 ...

  2. springMVC的多文件的异步上传实现

    springMVC的MultipartFile与传统的ajax文件上传兼容性不好,采用如下的ajax方法,后台无法获取文件. $.ajax({ url: '/upload', type: 'POST' ...

  3. Hadoop之MapReduce(一)简介及简单案例

    简介 Hadoop MapReduce是一个分布式运算编程框架,基于该框架能够容易地编写应用程序,进而处理海量数据的计算. MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算. ...

  4. Mongoose 参考手册(转载)

    Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 Mongose就是一套操作MongoDB数据库的接口. Schema 一种以文件形式存储的数据库模型骨架,无 ...

  5. XHProf安装使用笔记

    编译安装 获取源代码包root@sourcjoy>wget http://pecl.php.net/get/xhprof-0.9.2.tgz解压root@sourcjoy>tar zxf ...

  6. php格式化时间戳显示友好的时间

    在项目中时间一律显示为2014-10-20 10:22显得很呆板.在微博.QQ空间等网站通常会显示为几秒前,几分钟前,几小时前等容易阅读的时间,我们称之为友好的时间格式.那么用php怎么实现呢? 大体 ...

  7. Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建

    1. 下载 gcc-linaro-arm-linux-gnueabihf-4.9.tar.gz 下载地址参考:http://blog.csdn.net/lg1259156776/article/det ...

  8. 2.Books

    Books示例说明了Qt中SQL类如何被Model/View框架使用,使用数据库中存储的信息,创建丰富的用户界面. 首先介绍使用SQL我们需要了解的类: 1.QSqlDatabase: QSqlDat ...

  9. hibernate mapping文件中 xmlns会导致linq to xml 查询不到对应的节点

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. Part3_lesson3---ARM伪指令学习

    1.ARM机器码 对elf格式的文件进行反汇编可得到相应汇编文件的机器码: arm-linux-objdump -D -S start.elf 机器码的解析,可以参考文件ARM Architectur ...