DOM操作整理
DOM获取
1. 直接获取
document.getElementById("box_id") 通过ID获取
document.getElementsByName("myInput") 通过节点name,返回相同name的数组
document.getElementsByTagName(tagName) 查找标签名 (返回:标签数组) 由上至下子元素也包含
document.getElementsByClassName("box_class") 查找类名 (返回:标签数组) IE 5,6,7,8 中无效
2.获取父节点
(调用者).parentNode
3.获取单个子节点
第一个子节点: 父节点.firstElementChild || 父节点.firstChild firstChild:调用者是父节点 IE678中指第一个子元素标签在火狐谷歌IE9+以后都指的是第一个节点(包括空文档和换行节点) firstElementChild: 在火狐谷歌IE9都指的第一个元素节点。
最后一个子节点: 父节点.lastElementChild|| 父节点.lastChild lastChild: IE678中指最后一个子元素节点(标签)。在火狐谷歌IE9+以后都指的是最后一个节点(包括空文档和换行节点) lastElementChild: 在火狐谷歌IE9都指的最后一个元素节点。
4.获取所有子节点
父节点.childNodes 标准属性 获取所有节点包括HTML节点,所有属性,文本节点 火狐 谷歌等高本版会把换行也看做是子节点
父节点.children 非标准属性 但是几乎所有浏览器都支持 但不返回文本节点 。(使用较多)
5.获取兄弟节点
下一个兄弟节点: (调用者).nextElementSibling || (调用者).nextSibling nextSibling: 在IE678中指下一个元素节点(标签)。在火狐谷歌IE9+以后都指的是下一个节点(包括空文档和换行节点) nextElementSibling: 在火狐谷歌IE9都指的是下一个元素节点。
前一个兄弟节点: (调用者).previousElementSibling|| (调用者).previousSibling previousSibling:IE678中指前一个元素标签 在火狐谷歌IE9+以后都指的是前一个节点(包括空文档和换行节点) previousElementSibling: 在火狐谷歌IE9都指的是前一个元素节点。 总结:在IE678中用previousSibling,在火狐谷歌IE9+以后用previousElementSibling。
DOM操作
1.创建节点
新的标签(节点) = document.createElement("标签名"); var createDiv = document.createElement("div");
2.插入节点:
插入到最后:父节点.appendChild(新节点); boxId.appendChild(createDiv);
插入到指定节点之前:父节点.insertBefore(新节点,指定节点)在指定节点前插入; boxId.insertBefore(createDiv,bqArr[1]);
3.删除节点:
知道父节点:父节点.removeChild(子节点);必须指定要删除的子节点 box_id.removeChild();
不知道父节点:node.parentNode.removeChild(box_id_c); bqArr[1].parentNode.removeChild(bqArr[1]);
4.复制节点:
oldNode.cloneNode(true)复制后需要重新插入 才有效果 var copyNode = bqArr[1].cloneNode(true); boxId.appendChild(copyNode); console.log(bqArr[0]);
5.节点属性:
// 获取:getAttribute(名称) // 设置:setAttribute(名称, 值) // 删除:removeAttribute(名称)
//nodeType //nodeName 节点名称
DOM操作整理的更多相关文章
- js的DOM操作整理(整理)
js的DOM操作整理(整理) 一.总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来更加方便的进行dom操作 1.dom是什么? 对于JavaScrip ...
- javascript 常用DOM操作整理
.选取了DOM操作中实用并常用的部分,省略了实用但有明显兼容性的部分2.DOM属性和方法的类型归属可能并不完全准确3.某些一般兼容性和特点做了标识(主要是ie8-9上下) 节点类型 节点类型 节点值 ...
- js的dom操作(整理)(转)
js的dom操作整理(整理)(转) 一.总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来来更加方便的进行dom操作 1.dom是什么? 对于JavaS ...
- DOM操作指令整理
DOM操作指令整理: (1) 创建新节点: createDocumentFragment() 创建一个DOM片段 creatElement() 创建一个具体的元素 creatTextNode() 创建 ...
- 课堂所讲整理:HTML--7JavaScript的DOM操作
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...
- 从DOM操作看Vue&React的前端组件化,顺带补齐React的demo
前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue ...
- 为什么DOM操作很慢
转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来 ...
- js常用DOM操作
在博客园看到了苏夏写的常用DOM整理文章,地址:http://www.cnblogs.com/cabbagen/p/4579412.html,然后抽时间都试了一下这些常用的DOM操作.在这里记录一下. ...
- 为什么说DOM操作很慢
转自http://www.cnblogs.com/yuzhongwusan/articles/5275933.html 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大 ...
随机推荐
- THINKPHP中几个缓存的问题
1.字段缓存. THINKPHP是默认开启字段缓存的.如果关闭了APPDEBUG(即在index.php中设置了这样一句话:define("APP_DEBUG","FAL ...
- HDU 4135 Co-prime(容斥+数论)
Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Spring各jar包作用及依赖
先附spring各版本jar包下载链接http://repo.spring.io/release/org/springframework/spring/ spring.jar 是包含有完整发布模块的单 ...
- C#中??和?分别是什么意思?
在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null ...
- 使用MS Test做单元测试
声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...
- SQL Server 在生产环境中这样写存储过程的坑都避免了吗?
概述 最近因为业务的需求写了一段时间存储过程,发现之前写的存储过程存在一些不严谨的地方,特别是TRY...CATCH中嵌套事务的写法:虽然之前写的并没有错,但是还是埋藏着很大的隐患在里面.希望这篇文章 ...
- NOIP2017-普及组复赛第2题 题解
Description 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个正整数. 每位借书的读者手中有一个需求码,这个需求码也是一个正整数.如果一本书的图书编码恰好以读者的需 ...
- 基于HTML5 Canvas 点击添加 2D 3D 机柜模型
今天又返回好好地消化了一下我们的数据容器 DataModel,这里给新手做一个典型的数据模型事件处理的例子作为参考.这个例子看起来很简单,实际上结合了数据模型中非常重要的三个事件处理的部分:属性变化事 ...
- windows配置caffe + python和matlab接口
参考: http://blog.csdn.net/baidu_26408419/article/details/53711640 http://www.cnblogs.com/love6tao/p/5 ...
- cardview和Palette,ActionBar颜色随图改变
CardView是一个控件,Palette是取色工具(工具类),本文会对他们进行比较细致的介绍,相信机制的各位看完一定轻而易举地实现ActionBar随图改变的特效. 首先看一下效果图: Gradle ...