节点的属性{
    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. python数据字典的操作

    一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器 ...

  2. swift之xib关联UIView

    有点坑爹,设置file owner 不行,搞了一早上,来说下怎么关联吧 自定义UIView要重写 required init(coder aDecoder: NSCoder) { super.init ...

  3. Oracle字符集的查看查询和Oracle字符集的设置修改(转)

    最近郁闷的字符集2014年7月31日16:32:58 本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题 ...

  4. 关于for循环的一个小问题

    有如下程序: package com.lk.B; public class Test5 { public static void main(String[] args) { // TODO Auto- ...

  5. 学习Vue.js需要了解的部分内容

    重要: 1.如果要通过js/模板引用 图片到项目,图片路径需要使用require. 2.$event: $event 等于$emit 抛出的值,还可以使用$event.target.value. $e ...

  6. sql语句in超过1000时的写法

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

  7. SQL Server 2012自动备份

    SQL 2012和2008一样,都可以做维护计划,来对数据库进行自动的备份. 现在做这样一个数据库维护的计划,每天0点对数据库进行差异备份,每周日0点对数据库进行完全备份,并且每天晚上10点删除一次过 ...

  8. 让IE播放PPT

    在win7下安装office 2003,想让ppt在ie里播放,然后供winform调用,显示并播放ppt,操作如下 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Power ...

  9. Vue 父组件主动获取子组件的值,子组件主动获取父组件的值

    父组件主动获取子组件的值 1. 在调用子组件的时候定义一个ref-> ref="header"2. 在父组件中通过this.$refs.header.属性,调用子组件的属性, ...

  10. vs 2017局域网内调试

    之前调试代码都是在本地启动服务,以  localhost:端口号   的形式调试,今天发现也是可以用ip地址的形式来调用接口,这种方式可以支持内网内Client端调用接口,实现调试的功能,具体方法如下 ...