节点NODE
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的更多相关文章
- DOM 节点node
DOM可以将任何HTML或XML文档描绘成一个有多层节点构成的结构,即在HTML中所有内容都是节点.文档节点是每个文档的根节点,文档节点有一个子节点,称为文档元素.每个文档只能有一个文档元素.在HTM ...
- Cocos2d-x 3.0final 终结者系列教程07-画图节点Node
在Cocos2d-x中全部能看到的都是引擎调用底层图形库函数绘制完毕的. Cocos2d-x将屏幕全部要绘制的全部内容逻辑上保存到一个场景Scene中(尺寸通常会和屏幕大小一致) 而在Scene中又包 ...
- elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样
elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node. ...
- Linux内存描述之内存节点node–Linux内存管理(二)
日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 #1 ...
- Longhorn 企业级云原生分布式容器存储-券(Volume)和节点(Node)
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生分布式块存储解决方案设计架构和概念 Longhorn 企业级云原生容器存储解决方 ...
- cocos2d-x 3.0 画图节点——Node
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- 层次节点——NODE节点
1.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- 使用ROS节点——Node & Master——roscore、rosrun、rosnode
1.Node 在ROS的世界里, 最小的进程单元就是节点( node) . 一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点. ...
- Cocos2d-x 3.0final 终结者系列教程08-画图节点Node中的锚点和坐标系
图片问答,(仅仅要回答正确,锚点和坐标系就学会了) 1.下图一共同拥有几个填充为淡黄色的实心矩形? 选择:A,2个 B, 4个 C,1个 D,16个 答案.B.4个 2.下图的4个实心矩形排列在几行 ...
随机推荐
- 搞清css的单位 px,em,rem的区别
前言:现在上大街一眼望去,基本上90%的人都拿着手机,走路,逛街,吃东西都不停着,所以对于我们这种前端开发的程序猿来说,让网页适应于移动端可以说是必须要满足的.所以最近也是一直在学习和实践.然后就接触 ...
- phpstorm取消强制换行
1 取消phpstorm右侧竖线显示 2 取消格式化代码时 自动换行
- linux学习网站分享
http://www.zhihu.com/question/19895288 http://linux.vbird.org/ 两个linux学习的网页存起来,以后学习.
- 不在折腾---hbase-0.96.2-hadoop2
首先安装好zookeeper集群 上传hbase安装包 解压 配置hbase集群,要修改3个文件 * 修改hbase-env.sh 设置JAVA_HOME: export JAVA_HOME=... ...
- python——django的post请求
两次被同一块石头绊倒简直不可原谅!第一次写django程序的时候,就因为ajax post请求折腾了整整一天,时隔两个多月昨天又被虐一整晚.叔可忍婶儿也不能忍了!!!重要的事情写下来,为以后轻松碾压p ...
- 谈谈javascript中的日期Date对象
一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date();二.将日期对象转换为字符串 将日期对象转换为字 ...
- html/css 钢琴黑白格布局
效果图:
- spring与mybatis三种整合方法
spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接 http://code.googl ...
- Windows Store App JavaScript 开发:模板绑定
WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...
- ElasticSearch配置说明
配置文件位于%ES_HOME%/config/elasticsearch.yml文件中. cluster.name: elasticsearch 配置集群名称,默认elasticsearch node ...