http://www.codesec.net/view/222099.html

节点类型

节点类型主要有三种:元素节点,属性节点和文本节点。

而对DOM的主要也就是围绕 元素节点和属性节点 的 增删改查 。下面就分别从对元素节点的操作和对属性节点的操作来介绍。

元素节点 查

在对DOM进行增删改之前,首先要找到对应的元素。具体的查找方法如下:

getElementByID() // 得到单个节点
getElementsByTagName() // 得到节点数组 NodeList
getElementsByName() // 得到节点数组 NodeList

同时还可以利用元素节点的属性获取它的父子节点和文本节点:

子节点

Node.childNodes //获取子节点列表NodeList; 注意换行在浏览器中被算作了text节点,如果用这种方式获取节点列表,需要进行过滤
Node.firstChild //返回第一个子节点
Node.lastChild //返回最后一个子节点

父节点

Node.parentNode // 返回父节点
Node.ownerDocument //返回祖先节点(整个document)

同胞节点

Node.previousSibling // 返回前一个节点,如果没有则返回null
Node.nextSibling // 返回后一个节点

新增节点首先要创建节点,然后将新建的节点插入DOM中,所以下面分别介绍创建节点和插入节点的方法,复制节点的方法也在创建节点中进行介绍。

创建节点

createElement() // 按照指定的标签名创建一个新的元素节点

复制节点

clonedNode = Node.cloneNode(boolean) // 只有一个参数,传入一个布尔值,true表示复制该节点下的所有子节点;false表示只复制该节点

插入节点

parentNode.appendChild(childNode); // 将新节点追加到子节点列表的末尾
parentNode.insertBefore(newNode, targetNode); //将newNode插入targetNode之前

替换节点

parentNode.replace(newNode, targetNode); //使用newNode替换targetNode

移除节点

parentNode.removeChild(childNode); // 移除目标节点
属性节点

操作属性节点,就是对DOM样式进行增删改查。对于行内样式、内联样式、外部样式有不同的操作方法;各种方法获得的样式也有可读可写和只读之分。

直接获取CSS样式
node.style.color // 可读可写
Style本身的属性和方法
node.style.cssText //获取node行内样式字符串
node.style.length //获取行内样式个数
node.style.item(0) //获取指定位置的样式
只读方法

getComputedStyle是window的方法。它能够获取传入节点的全部样式,但是只可读、不可写。它有两个参数,第一个为传入的节点,第二个可以传入:hover, :blur等获取其伪类样式,如果没有则传入null。

然而IE并不支持getComputedStyle方法,可以用currentStyle实现该功能:

window.getComputedStyle ? window.getComputedStyle(node, null) : node.currentStyle

JavaScript DOM操作总结相关推荐

  1. 视频教程-Javascript DOM操作-JavaScript

    Javascript DOM操作 江湖花名King... 何山 ¥39.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠,最少立减5元 ↓↓↓ ...

  2. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  3. JavaScript DOM操作Select下拉框

    DOM操作Select下拉框: 获取select选中的option值,修改选中的选项,添加选项option. <body> <script type="text/javas ...

  4. JavaScript DOM操作为什么会影响性能

    DOM操作影响性能的原因主要有以下两点: 在浏览器中,DOM的实现和ECMAScript的实现是分离的.比如在Chrome中使用WebKit中的WebCore处理DOM和渲染,但ECMAScript是 ...

  5. java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG

    SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...

  6. JavaScript DOM操作表格及样式

    一 操作表格 <table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它; 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  7. 常见的原生javascript DOM操作

    1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...

  8. JavaScript DOM操作,就是这么简单!

    DOM,即文档对象模型(Document Object Model),是通过JavaScript来对HTML文档进行管理和操作的一类 对象模型,通过DOM可以操作HTML的元素和元素的属性,包括对元素 ...

  9. 【收藏】JavaScript DOM操作简易速查手册

    附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全: 书单导航页(点击右侧 极客侠栈 即可打开个人博客):极客侠栈 ①[Java]学习之路吐血整理技术书 ...

  10. JavaScript DOM操作 提高篇

    做为一个web前端,处理和了解浏览器差异一个重要问题.下面将介绍本人在工作中的一些笔记总结,先介绍没有使用js库的情况. 1. setAttribute方法设置元素类名 : 在jQuery中,直接使用 ...

最新文章

  1. 软件测试在哪个城市好找工作,职业测试:你适合在哪个城市工作?
  2. IDC:2018年中国人工智能市场规模达17.6亿美元
  3. Unable to merge dex
  4. China Linux Kernel-ppt
  5. 扩展虚拟机Ubuntu磁盘容量空间
  6. method-dispatch/
  7. 建立海盗的天堂:盗贼之海的AI设定(三):巨齿鲨、海怪和骷髅船的AI运行
  8. JEECG 引领J2EE新开发模式插件式开发 - 公开课2013-12-12
  9. 解决“HTTP/1.1 405 Method not allowed”问题
  10. 卸载列表信息——Uninstall注册表
  11. idea Mac格式化代码快捷键
  12. mfc使用matlab绘图,mfc调用matlab绘图
  13. 为什么仿宋字体打印出楷体_win7仿宋字体及楷体字体打包下载
  14. Android 沉浸式Dialog弹框
  15. 第三次小班讨论课——海明检验码、用晶体管而不是逻辑门实现异或门
  16. 食用卵磷脂市场现状及未来发展趋势
  17. 滴滴D1上路之后,科技巨头正在“抢滩登陆“造车战场
  18. 微服务项目:尚融宝(38)(核心业务流程:申请借款额度(1))
  19. HART475艾默生手操器维修注意事项及指标特点
  20. Python ctypes 调用API函数模拟键盘鼠标事件

热门文章

  1. 实验4-1-9 猜数字游戏 (15 分)
  2. 了解 node.js
  3. 网络安全管理的“模拟人生”
  4. SpringBoot实战总汇--详解
  5. 距离度量以及python实现(一)
  6. android studio 布局设计,Andriod界面设计适配和Android Studio中的资源
  7. 模块说和神经网络学说_让神经网络解释自己:牛津大学博士小姐姐,用毕业论文揭示“炼丹炉”结构...
  8. html 获取mac地址,Javascript获取Mac地址
  9. tensorflow 版本列表,如何找到我的系统中安装了哪个版本的TensorFlow?
  10. swf php文本,SWFFont - PHP 5 中文文档