节点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个实心矩形排列在几行 ...
随机推荐
- 复利计算器(4)——jQuery界面美化、自动补全
一.分工 这次终于可以跟小伙伴合作了,经过讨论,我负责界面的美化和输入框自动补全,小伙伴擅长安卓,于是将复利计算器弄成app的任务就交给了小伙伴.为了我们两人团队,我们都好奋斗哈哈哈!! 二.界面美化 ...
- PHP基础算法
1.首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半. 思路:多少行for一次,然后在里面空格和星号for一次. <?php for($i=0;$i<=3;$i++ ...
- c语言练习
#include<stdio.h> struct student{ ]; int No; ]; int sum; }; int strcmp(char *s, char *t) { int ...
- android APK更新
菜鸟的博客请多多指教 最近做了一个新功能,更新APK的功能 1.更新APK是一个耗时的任务,我采用了一个服务来做,上次在网上看到服务是在主线程里面,自己也测试了下,数据是真的 所以下载动作还必须在服务 ...
- swift_属性观察者
//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...
- ES5——函数,对象,方法,this
JS由表达式和语句组成 表达式:计算出一个值,但并不进行任何操作,不改变计算机运行状态 语句:包括 声明语句,赋值语句,控制结构 函数,对象,方法,this 数组和对象:是两个非常重要的数据类型 函数 ...
- 从下往上看--新皮层资料的读后感 第三部分 70年前的逆向推演- 从NN到ANN
第三部分 NN-ANN 70年前的逆向推演 从这部分开始,调整一下视角主要学习神经网络算法,将其与生物神经网络进行横向的比较,以窥探一二. 现在基于NN的AI应用几乎是满地都是,效果也不错,这种貌似神 ...
- Xcode真机调试出现The account '***' has no team with ID '***'的解决方案
前段时间,想用真机调试的时候出现 The account '***' has no team with ID '***'的问题, 以前页真机调试过,没有这种情况,于是我登陆开发者中心,进去发现说我的账 ...
- 权重和层叠规则决定了CSS样式优先级
一.基本的优先级规则 比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: important > 内联 > ID > 类 > 标签 | ...
- MVC5+EF6 入门完整教程九
前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...