js获取节点和编辑的方法
创建新节点
1.创建一个DOM片段
createDocumentFragment()
例如:
var d=document.createDocumentFragment();
d.appendChild(document.getElementsByTagName("LI")[0]);
2.创建一个具体的元素
createElement()
例如:
document.createElement("input");
3.创建一个文本节点
createTextNode()
例如:
document.createTextNode("Water")
添加、移除、替换、插入
1.添加子节点
appendChild()
var node=document.createElement("LI");
var textnode=document.createTextNode("Water");
node.appendChild(textnode);
document.getElementById("myList").appendChild(node);
2.移除子节点
removeChild()
var list=document.getElementById("myList");
list.removeChild(list.childNodes[0]);
3.替换子节点
replaceChild()
var textnode=document.createTextNode("Water");
var item=document.getElementById("myList").childNodes[0];
item.replaceChild(textnode,item.childNodes[0]); //前面参数是新的节点,后面的是要被取代的节点
4.插入子节点
insertBefore()
var newItem=document.createElement("LI")
var textnode=document.createTextNode("Water")
newItem.appendChild(textnode)
var list=document.getElementById("myList")
list.insertBefore(newItem,list.childNodes[0]); //前面参数是新的节点,后面的是要插入节点的位置
JQ的动态添加元素方法:
1.append() 方法在被选元素的结尾插入内容。
2.prepend() 方法在被选元素的开头插入内容。
3.after() 方法在被选元素之后插入内容。
4.before() 方法在被选元素之前插入内容。
从document查找
1.document.getElementById()
靠id获取节点
2.document.getElementsByClassName()
靠类名获取节点集(数组)
3.document.getElementsByTagName() IE9+才兼容~~
靠标签名获取节点集(数组)
4.document.createElement()
创建新的节点
5.document.querySelector()
靠CSS选择符获取节点
6.document.querySelectorAll()
靠CSS选择符获取节点集(数组)
查找父节点
node.parentNode 和 node.parentElement
直接获取父层元素两者是一样的,前者是w3c标准。
node.offsetParent:相对于哪元素定位,就是哪个元素
查找子节点
node.childNodes 获取所有子节点,包括了注释
node.children 获取所有子元素(有标签的才算!!)
查找兄弟节点
node.previousSibling 获取前一位兄弟节点,包括了注释
node.nextSibling 获取后一位兄弟节点,包括了注释
node.previousElementSibling 获取前一位兄弟元素(有标签的才算!!)
node.nextElementSibling 获取前一位兄弟元素(有标签的才算!!)
判断node种类:node.nodeType 1->telement 3->text 8->tcomment
获取元素节点后,可以用之前提到过的点表示法和方括号表示法来编辑操作元素节点的属性(id、src、className、style、offsetTop、offsetWidth、clientWidth、scrollWidth....)和内容(innerHTML、outerHTML、innerText、textContent、childNodes、appendChild、removeChild....)。
值得注意的是操作样式的写法:
1.第一种是 node.style.样式名 的写法:例如div.style.height="100px"(比较特别的:有-的样式名如div.style.backgroundColor,浮动div.style.cssFloat)
2.第二种是 node.style.cssText 的写法:例如div.style.cssText="display:block;width:100px;height:100px"
ps:还有一种获取实际浏览器计算出来的样式,例如 getComputedStyle(div[,'::after']).color
js获取节点和编辑的方法的更多相关文章
- JS获取节点方法
1. 通过顶层document节点获取:(1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有 ...
- 原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较
一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优 ...
- JS获取当前页面URL的方法
1.JS获取当前页面URL的方法小结 ①. document.URL; http://localhost:81/Test/1.htm/id/12 ② ...
- JS获取节点的兄弟,父级,子级元素的方法(js获取子级获取到换行与空格元素-FF)
先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 < ...
- JS获取节点的兄弟,父级,子级元素
https://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作 ...
- JS获取HTML DOM元素的方法
JS获取HTML DOM元素有八种方法: 1.根据id获取标签元素: document.getElementById("id名"); 2.根据标签名获取标签列表: document ...
- js获取及判断按键的方法
js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下: keyCode 8 = BackSpace BackSpace keyCode 9 = Tab Tab keyCode 12 = ...
- JS获取各种浏览器窗口大小的方法
常用:JS 获取浏览器窗口大小复制代码 代码如下:// 获取窗口宽度if (window.innerWidth)winWidth = window.innerWidth;else if ((docum ...
- js获取fck值的代码方法
引入js文件 <script type="text/javascript" src="${basePath}/FCKeditor/fckeditor.js" ...
随机推荐
- Storm集群安装部署步骤
本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...
- 95后实习生的远程办公体验(asp.net mvc\C#技术栈)
这个月我们做了一件别人看起来很疯狂的事情,就是让一批95后的实习生实行远程办公,效果还不错,于是写此文总结一下. 其实认真算算,我自己的远程工作经验有十年了吧,在北京工作的时候天气不好就申请在家办公, ...
- 腾讯云centos7服务器环境搭建,tomcat+jdk+mysql+nginx
软件:jdk 1.8.0_45 tomcat 8.5.8 mysql 5.6.36 nginx 1.10.x或以上 其中tomcat在centos6.8中没问题,centos7中会出现卡在启动那里 I ...
- PLC编程算法
PLC编程算法(一) 01 开关量也称逻辑量,指仅有两个取值,0或1.ON或OFF.它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用. 开关量控制的目的是,根据开关量的当前输入组合 ...
- 输入三个整数x、y、z,请把这三个数由小到大输出
题目:输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...
- nopCommerce 3.9 大波浪系列 之 NUnit 配置调试环境
官网:http://nunit.org/ GitHub:https://github.com/nunit 本文只介绍NUnit在VS中的配置使用,进一步学习 NUnit 请参考官方文档. nopCom ...
- 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级
1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身 ...
- [COGS 1752] 摩基亚Mokia
照例先上题面 1752. [BOI2007]摩基亚Mokia 输入文件:mokia.in 输出文件:mokia.out 时间限制:1.5 s 内存限制:128 MB [题目描述] 摩尔瓦多的移 ...
- 抓取60000+QQ空间说说做一次数据分析
对于QQ空间的数据一直来是垂涎不已,老早就想偷过来研究研究,这几天闲下来便开始动手... 整个程序的流程为:登录-->获取cookie-->获取所有的好友qq_number-->根据 ...
- 教你上传本地代码到github
最近想起学Git,并且注册了Github. 将新创建的本地代码上传到github上,这里简单的记录一下,我喜欢使用命令行,这里全用命令行来实现,不了解Git命令的可以去了解下. 第一步:建立git仓库 ...