节点的属性{
    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. DAY.15_Python

    昨天完成了三级菜单和购物车程序的作业: """ .__author__.=,"JerseyHg" 作业要求:1. 可依次选择进入到下一级菜单:2. 可 ...

  2. Variable hoisting Function hoisting

    Variable hoisting Another unusual thing about variables in JavaScript is that you can refer to a var ...

  3. OpenGL顶点缓冲区对象

    [OpenGL顶点缓冲区对象] 显示列表可以快速简单地优化立即模式(glBegin/glEnd)的代码.在最坏的情况下,显示列表的命令被预编译存到命令缓冲区中,然后发送给图形硬件.在最好的情况下,是编 ...

  4. C++——多线程

    1.多进程和多线程:进程是一个总任务,一个进程可能包含多个线程. 2.并行和并发: 并发的关键是你有处理多个任务的能力,不一定要同时. 并行的关键是你有同时处理多个任务的能力. 3.共享数据的管理和线 ...

  5. js(jquery)右键菜单插件的实现

    今天开发一个项目的时候需要一个模拟鼠标右键菜单的功能.也就是在网页点击鼠标右键的时候不是弹出系统的菜单而是我们制定的内容.这样可以拓展右键的功能.实现过程不多说了,写出来的代码和效果如下: js部分: ...

  6. IDEA03 连接数据库、自动生成实体类

    1 版本说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 IDEA:旗舰版207.2 MySQL:5.5 2 利用IDEA连接数据库 说明:本案例以MySQL为例 2.1 打 ...

  7. ObjectMapper对象的使用 Object2JSON

    // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler ...

  8. 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看

    ThreadLocal(线程变量副本)       --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个 ...

  9. 487C Prefix Product Sequence

    传送门 题目大意 分析 因为n为质数所以i-1的逆元唯一 因此ai唯一 代码 #include<iostream> #include<cstdio> #include<c ...

  10. sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法

    sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法: 需要下载Emmet插件,按网上写的步骤按ctrl+shift+P打开命令面板,输入install,鼠标点击 ...