1、整个文档是一个文档节点 * 每个 XML 标签是一个元素节点 * 包含在 XML 元素中的文本是文本节点 * 每一个 XML 属性是一个属性节点 * 注释属于注释节点
2. 获取NODE的方式
2.1 通过获取元素的方式获取NODE -
document.getElementById("elementID"); //最重要
document.getElementsByTagName("tagname");
document.getElementsByName("name");
document.getElementsByClassName("classname");
2.2 通过NODE关系属性获得引用
* object.parentNode: 获取该元素父节点
* object.childNodes: 获取对象所有的子节点,只包含次级节点
* object.firstChild: 获取该元素第一个子节点
* object.lastChild: 获取该元素最后一个子节点
* object.nextSibling: 获取该下一个兄弟节点
* object.previousSibling: 获取该元素上一个兄弟节点
3. NODE属性

节点中文 nodeType(节点类型) nodeName(节点名) nodeValue(节点值)

元素 1 TagName null
属性 2 attr 属性值
文本 3 #text 文本值
注释 8 #comment 注释文字
文档 9 #document null

4. NODE 增, 删, 查, 改
4.1 创建NODE

创建元素节点 - document.creatElement(TagName);

创建属性节点 - document.createAttribute(attr);
- object.attr = val;
- object.setAttribute(attr, val);

创建文本节点 - object.innerText = val;
- document.createTextNode(text);
4.2 添加NODE - parentNode.appendChild(newNode); 说明: 向节点的子节点列表的末尾添加新的子节点。如果文档树中已经存在了 newNode,它将从文档树中删除,然后重新插入它的新位置。可以使用 appendChild() 方法移除元素到另外一个元素。

第一步:新建元素:createElement
第二步:新建文本:createTextNode
第三步:获取已有的元素:parentNode
第四步:新增标签:appendChild
4.3 插入NODE - parentNode.insertBefore(newNode,existingNode); 说明: 如果文档树中已经存在了 newNode,它将从文档树中删除,然后重新插入它的新位置。
4.4 替换NODE - parentNode.replaceChild(newNode,oldNode) 说明: 如果文档树中已经存在了 newNode,它将从文档树中删除,然后重新插入它的新位置。
4.3 删除NODE - parentNode.removeChild(node); 说明: 从子节点列表中删除某个节点
第一步:找到元素节点:a
第二步:找到要删除的元素:b
第三步:执行删除:c
b.parentNode.removed(b);

5、cloneNode(deep):创建节点的拷贝,它会克隆所有的属性和值
6、inserBefore():在指定的已有子节点之前插入新的子节点

eg://节点操作
// console.log(document.getElementById("li2").parentNode);//父节点
// console.log(document.getElementById("ul").childNodes.length);//所有子节点
// console.log(document.getElementById("ul").firstElementChild);//第一个元素节点
// console.log(document.getElementById("ul").firstChild);//第一个子节点
// console.log(document.getElementById("ul").lastChild.textContent);//最后一个子节点
// console.log(document.getElementById("li2").nextSibling);//下一个兄弟子节点
// console.log(document.getElementById("li2").previousSibling);//上一个兄弟节点

//节点类型判断
// var li2=document.getElementById("li2");
// console.log(document.getElementById("li2").nodeType);//1元素
// console.log(document.getElementById("li2").childNodes[0].nodeType);//3文本
// console.log(li2.nodeName);//节点名称
// console.log(li2.nodeValue);//节点值,元素节点值
// console.log(li2.textContent);//元素的文本节点值
//
// console.log(document.getElementById("input1").nodeValue);//input输入框测试

//创建节点
// var li2=document.getElementById("li2");
// var ul=document.getElementById("ul");
//
// console.log(document.createElement("p"));//创建元素
//
// document.createAttribute("class");//创建属性
// li2.className="li222";
// console.log(li2);

// li2.setAttribute("class","li2");//创建,更改属性
// console.log(li2);
// document.getElementById("li2").setAttribute("style","fontSize:20px;color:red");//内嵌

// console.log(document.createTextNode("我是新创建的文本节点"));//创建文本

//增加节点
// var div=document.createElement("div");//创建元素
// var tet=document.createTextNode("我是新创建的div");//创建文本
// div.appendChild(tet);//元素中新增文本
// var add=document.getElementById("li2");//找到一个已有元素
// add.appendChild(div);//在已有元素中新增元素文本

//删除节点
// var ul=document.getElementById("ul");
// var li2=document.getElementById("li2");
// ul.removeChild(li2);//找到父元素再删除

// li2.parentNode.removeChild(li2);//直接找到父元素删除

//替换节点
// var ul=document.getElementById("ul");
// var li2=document.getElementById("li2");
// var li5=document.getElementById("li5");
// ul.replaceChild(li2,li5);//li2替换li5,li2原位置内容彻底消失

//克隆节点
// var li2=document.getElementById("li2");
//// li2.cloneNode("我是复制的li3");
// li2.appendChild(li2.cloneNode("我是复制的li3"));//克隆的是所有属性及其值,通过新增节点显示

//插入节点
var div=document.createElement("div");//创建元素
var tet=document.createTextNode("我是新创建的div");//创建文本
div.appendChild(tet);//元素中新增文本
var li2=document.getElementById("li2");//找到一个已有元素
li2.insertBefore(div,li2.childNodes[0]);//找到这个已有元素的首个子节点,在这个已有元素之前,插入这个新增元素文本

节点NODE的更多相关文章

  1. DOM 节点node

    DOM可以将任何HTML或XML文档描绘成一个有多层节点构成的结构,即在HTML中所有内容都是节点.文档节点是每个文档的根节点,文档节点有一个子节点,称为文档元素.每个文档只能有一个文档元素.在HTM ...

  2. Cocos2d-x 3.0final 终结者系列教程07-画图节点Node

    在Cocos2d-x中全部能看到的都是引擎调用底层图形库函数绘制完毕的. Cocos2d-x将屏幕全部要绘制的全部内容逻辑上保存到一个场景Scene中(尺寸通常会和屏幕大小一致) 而在Scene中又包 ...

  3. elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样

    elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node. ...

  4. Linux内存描述之内存节点node–Linux内存管理(二)

    日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 #1 ...

  5. Longhorn 企业级云原生分布式容器存储-券(Volume)和节点(Node)

    内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生分布式块存储解决方案设计架构和概念 Longhorn 企业级云原生容器存储解决方 ...

  6. cocos2d-x 3.0 画图节点——Node

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  7. 层次节点——NODE节点

    1.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...

  8. 使用ROS节点——Node & Master——roscore、rosrun、rosnode

    1.Node 在ROS的世界里, 最小的进程单元就是节点( node) . 一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点. ...

  9. Cocos2d-x 3.0final 终结者系列教程08-画图节点Node中的锚点和坐标系

    图片问答,(仅仅要回答正确,锚点和坐标系就学会了) 1.下图一共同拥有几个填充为淡黄色的实心矩形? 选择:A,2个  B, 4个 C,1个 D,16个 答案.B.4个 2.下图的4个实心矩形排列在几行 ...

随机推荐

  1. 关于url中的#-----hash

    前言:不知道你们对url地址中的#一开始是怎么理解的,反正我以前一直都是默认那就是本页面中该id的位置.今天看了篇文章,才把这个真正透彻理解. 1,#涵义 #代表网页中的一个位置.其右面的字符,就是该 ...

  2. jquery tmpl 详解

    官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意 ...

  3. Linux shell ”Press any key to continue ”功能实现

    function process_continue(){ SAVESTTY=`stty -g` stty cbreak dd if=/dev/tty bs=1 count=1 > /dev/nu ...

  4. Jenkins的安装与配置

    资源下载: --jenkins的war包 首先从http://jenkins-ci.org/下载最新的jenkins版本,最新版本为1.594,下载的文件载体为jenkins.war: Jenkins ...

  5. Git 安装

    安装参考资料: http://lzw.me/a/msysgit-tortoisegit-win-git.html http://blog.csdn.net/qwiwuqo/article/detail ...

  6. guardian keytab生成不了

    vim /var/kerberos/krb5kdc/kadm5.acl 将*e改成* /etc/init.d/kadmin restart 重启kadmin

  7. ATC空管系统的实时控制软件系统分析

    什么是ATC空管系统? 空中交通管制的目的是对航空器的空中活动进行有效的管理,维护空中交通秩序,保障空中交通畅通,保证飞行安全和提高飞行效率,防止航空器相撞,防止机场及其附近空域的航空器同障碍物相撞. ...

  8. json数组转普通数组 普通数组转json数组

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

  9. 在linux上部署web环境

    1.升级python到2.7版本(通过源码包重新安装一个2.7版本的python):wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9. ...

  10. hibernate注解随笔—10月8日

    hibernate注解(herbinate4 jar包注解可用,使用hibernate3.3注解失败) 如果javabean与数据库中表名一致(不区分大小写),则注解不用写@Table(name=&q ...