JavaScript驾驭网页-DOM


Posted in Javascript onMarch 24, 2016

一、DOM全称

文档对象模型(Document Object Model)

二、DOM是什么

DOM就是一个编程接口,就是一套API。
DOM是针对HTML文档、XML等文档的一套API。就类似于JDBC是针对数据库的一套API一样。

三、DOM的用途

DOM 是用来访问或操作HTML文档、XHTML文档、XML文档中的节点元素。

现在基本上所有的浏览器都都执行了W3C发布的DOM规范,所以在浏览器上就可以用DOM的这些API。

DOM提供对脚本友善的网页结构与内容的视图

DOM把网页视为节点构成的层次树

DOM树

每棵DOM树的最顶端节点都是Document,它在HTML节点的上层

网页是DOM节点的集合

见图1

JavaScript驾驭网页-DOM

节点类型

网页节点是按类别分类的,主要有元素节点与文本节点构成

见图2

JavaScript驾驭网页-DOM

节点特性

利用节点特性能用于导览节点树

以下是常用的节点特性:

nodeValue 存储于节点的值,只限于文本与属性节点使用(不含元素)

nodeType 节点类型,例如它是DOCUMENT或TEXT等等,但以代号表示

childNodes 包含节点下所有子节点的数组,以出现在HTML代码中的顺序而排列

firstChild 节点下的第一个子节点

lastChild 节点下的最后一个子节点

例子

document.getElementById(“id”).nodeValue;//获取某节点下的纯文本 
document.getElementsByTagName(“body”)[0].childNodes[1].lastChild;//body下的第二个子节点的最后一个节点

利用DOM改变元素的内容

首先 移除所有子节点

然后 根据新内容创建新的文本节点

最后 把新创建的文本子节点附加到节点下

这里涉及到三个方法

removeChidl()移除目标节点下的一个子节点,传入将被移除的子节点

createTextNode()从文本字符串创建文本节点

appendChildO()以最后一个子节点的开工加入新节点,传入将被新增加的子节点

var node=document.getElementById(“id”);//获取元素 
while (node.firstChild)//删除元素下的所有子节点(这里判断子节点是否存在,存在为true) 
node.removeChild(node.firstChild) 
node.appendChild(document.createTextNode(“message”))//为元素添加新内容

总结

innerHTML虽并非万维网的标准,但这个特性能访问元素内存储的所有内容

Document Object Model(文档对象模型),简称DOM,提供访问和修改网页数据的标准化机制

DOM视图页为关联节点的层次树

使用DOM(而非innerHTML)改变网页内容的方案,需移除元素下所有的子节点,然后创建并附加上包含新内容的新子节点。

关于JavaScript驾驭网页-DOM就给大家介绍到这里,下篇将给大家介绍JavaScript驾驭网页-CSS与DOM,感兴趣的朋友点击查看详情!

Javascript 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
Javascript 写的简单进度条控件
Jan 22 Javascript
js event事件的传递与冒泡处理
Dec 06 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
Aug 14 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
Dec 02 Javascript
js判断60秒以及倒计时示例代码
Jan 24 Javascript
BootStrap实现树形目录组件代码详解
Jun 21 Javascript
RequireJS简易绘图程序开发
Oct 28 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
Aug 15 Javascript
javascript中的replace函数(带注释demo)
Jan 07 Javascript
常用的JQuery函数及功能小结
Mar 24 #Javascript
JS中setTimeout的巧妙用法前端函数节流
Mar 24 #Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
Mar 24 #Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 #Javascript
AngularJS 让人爱不释手的八种功能
Mar 23 #Javascript
java中String类型变量的赋值问题介绍
Mar 23 #Javascript
基于javascript实现泡泡大冒险网页版小游戏
Mar 23 #Javascript
You might like
php 分页函数multi() discuz
2009/06/21 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
Gird事件机制初级读本
2007/03/10 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
javascript this详细介绍
2016/09/19 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
python 判断自定义对象类型
2009/03/21 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python向图片里添加文字
2019/11/26 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
怎么快速自学python
2020/06/22 Python
python的launcher用法知识点总结
2020/08/07 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
关于的python五子棋的算法
2022/05/02 Python