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操作整理的更多相关文章

  1. js的DOM操作整理(整理)

    js的DOM操作整理(整理) 一.总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来更加方便的进行dom操作 1.dom是什么? 对于JavaScrip ...

  2. javascript 常用DOM操作整理

    .选取了DOM操作中实用并常用的部分,省略了实用但有明显兼容性的部分2.DOM属性和方法的类型归属可能并不完全准确3.某些一般兼容性和特点做了标识(主要是ie8-9上下) 节点类型 节点类型 节点值 ...

  3. js的dom操作(整理)(转)

    js的dom操作整理(整理)(转) 一.总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来来更加方便的进行dom操作 1.dom是什么? 对于JavaS ...

  4. DOM操作指令整理

    DOM操作指令整理: (1) 创建新节点: createDocumentFragment() 创建一个DOM片段 creatElement() 创建一个具体的元素 creatTextNode() 创建 ...

  5. 课堂所讲整理:HTML--7JavaScript的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  6. 从DOM操作看Vue&React的前端组件化,顺带补齐React的demo

    前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue ...

  7. 为什么DOM操作很慢

    转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来 ...

  8. js常用DOM操作

    在博客园看到了苏夏写的常用DOM整理文章,地址:http://www.cnblogs.com/cabbagen/p/4579412.html,然后抽时间都试了一下这些常用的DOM操作.在这里记录一下. ...

  9. 为什么说DOM操作很慢

    转自http://www.cnblogs.com/yuzhongwusan/articles/5275933.html   一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大 ...

随机推荐

  1. scp命令,用来在本地和远程相互传递文件,非常方便

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  2. 利用VS2008发布一个简单的webservice

    一个开发好的webservice,怎样发布出去,供其他电脑访问呢? 本文将介绍如何发布一个简单的webservice,其中的内容都是在网上查看别人文章,自己仿照着做了一遍,因此,难免会发生错误,如果发 ...

  3. 1.Introduction 介绍

    Welcome to Log4j 2! Introduction Almost every large application includes its own logging or tracing ...

  4. Cocoapods安装过程

    1.升级Ruby环境 gem -v gem update --system 如果没有权限去升级Ruby ?就输入 sudo gem update --system 2.换掉Ruby镜像 首先移除现有的 ...

  5. Web前端性能优化全攻略[转载]

    1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests) 作为第一条,可能也是最重要的一条.根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最 ...

  6. 全球领先的redis客户端:SFedis

    零.背景 这个客户端起源于我们一个系统的生产问题. 一.问题的发生 在我们的生产环境上发生了两次redis服务端连接数达到上限(我们配置的单节点连接数上限为8000)导致无法创建连接的情况.由于这个系 ...

  7. 【APP问题定位(三)】adb安装

    先来剧透一下我们需要使用的工具 bin包               一个安装目录,可以免安装直接调用adb命令 Android SDK platform tools 下面依次为大家介绍,第1个和第2 ...

  8. 【深度学习笔记】(一)TensorFlow安装及环境搭建

    在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...

  9. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  10. python之optparse模块

    测试例子 #!/usr/bin/env python2.7 import sys import os from optparse import OptionParser def parse_optio ...