JavaScript 中的DOM1
来源:互联网 发布:外国人怎么淘宝买东西 编辑:程序博客网 时间:2024/06/06 06:37
DOM 文档对象模型
文档对象模型:定义 为了能够让程序(js)去操作页面中的元素
节点层次
节点之间的关系构成了节点层次,html
页面的可以画出一个以html
标签为根节点的树形结构
DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵数中的每一个元素(节点)
<html lang="en"><head> <title>Document</title></head><body> <p>hello world!!!</p></body></html>
每个节点都有一个nodeType
属性,用于表明节点的类型。DOM节点类型有12种。。。。
其中:
graph LR1-->元素节点2-->文本节点3-->属性节点
<!DOCTYPE html><html lang="en"><head> <title>Document</title></head><body> <p id="p1">hello world!!!</p> <script> var oP = document.getElementById('p1'); alert(oP.nodeType); // 1 </script></body></html>
节点关系
childNodes 子节点列表集合(只读属性 有兼容性问题 )
<ul id="ul1"> <li>11111</li> <li>22222</li> <li>3333</li> <li>44444</li></ul><script> var oUl = document.getElementById('ul1'); console.log(oUl.childNodes);</script>
从截图中可以看出 这段代码中ul
的子节点有9个,这说明使用childNodes
获取的节点包括了文本节点和元素节点
childNodes
在低版本的ie
浏览器下获取的节点只包括元素节点,这就导致了兼容性问题
如何解决兼容性??
根据子节点的nodeType
属性值判断
for (var i=0; i<oUl.childNodes.length; i++) { if ( oUl.childNodes[i].nodeType == 1 ) { oUl.childNodes[i].style.background = 'red'; } }
children 子节点列表集合(只读属性 推荐使用 )
children
获取的子节点只包含元素节点
for (var i = 0; i<oUl.children.length; i++){ oUl.children[i].style.background = 'red';}
firstChild (firstElementChild) lastChild (lastElementChild) 第一个子节点 最后一个子节点
firstChild 、lastChild
和childNodes
同样的存在兼容性问题,在低版本ie
浏览器中只能获取到元素节点
firstElementChild 、 lastElementChild
获取第一个元素子节点,最后一个元素子节点 * 推荐使用 *
var oUl = document.getElementById('ul1');// oUl.firstChild.style.background = 'red';//标准浏览器 报错// oUl.lastChild.style.background = 'red';//标准浏览器 报错oUl.firstElementChild.style.background = 'red';oUl.lastElementChild.style.background = 'red';
nextSibling nextElementSibling 下一个兄弟节点 previousSibling previousElementSibling 上一个兄弟节点
nextSibling previousSibling
存在兼容性问题
nextElementSibling previousElementSibling
* 推荐使用 *
<script> var oUl = document.getElementById('ul1'); var firstEle = oUl.firstElementChild; var lastEle = oUl.lastElementChild; firstEle.nextElementSibling.style.background = 'red'; lastEle.previousElementSibling.style.background = 'green';</script>
parentNode 当前节点的父级节点
实例: 点击 删除 父级节点的 li
<ul id="ul1"> <li>11111<a href="javascript:;">删除</a></li> <li>22222<a href="javascript:;">删除</a></li> <li>33333<a href="javascript:;">删除</a></li> <li>44444<a href="javascript:;">删除</a></li></ul><script> var aA = document.getElementsByTagName('a'); for (var i=0; i<aA.length; i++) { aA[i].onclick = function() { this.parentNode.style.display = 'none'; } }</script>
0 0
- JavaScript 中的DOM1
- javaScript dom1
- javascript基础:DOM1简介
- javascript DOM详解之DOM1
- DOM1
- DOM1
- 《JavaScript高级程序设计》学习笔记(DOM1)
- 4-day(JavaScript基础与DOM1)
- js-Dom1
- 说说 DOM1 级的节点层次以及 JavaScript 对它的支持
- 文档对象模型DOM1
- DOM0, DOM1, DOM2, DOM3
- Dom1(doc范围,计时器)
- DOM DOM0 DOM1 DOM2 DOM3 简单介绍
- js中对于DOM1的扩展
- DOM1级问题与DOM2级事件
- javascript中的$、#
- Javascript中的<!-- //-->
- 动态代理及其两种实现方式(JDK、CGLIB)
- git支持很多种工作流程
- gym100818F-F - Irrational Roots
- 中国联通沃云----弹性块存储使用说明
- 开发知识点总结(期待你的评论)
- JavaScript 中的DOM1
- Android四大组件之Service(浅谈)
- Linux下redis的安装
- 用两个栈实现队列
- 7-18关于预制件和添加图片
- inner join, left outer join, right outer join
- app 欢迎界面
- Snackbar提示框
- Google FlatBuffers使用教程