深入浅出JavaScript (六)分析DOM模型
2013-02-04 16:08
211 查看
DOM是一种结构化对象模型提供了标签对象通用的访问方式,将HTML文件视为一个节点树,每一个标签和文字都是一个节点,可以访问每个节点和节点内容。
这样我们就可以通过DOM提供给的方法、接口来访问HTML内容,而不需要单个元素一个一个的查询。
优点:
跨平台和程序语言的程序接口
DOM提供应用程序环境的一种标准程序处理接口,这是一种HTML和XML文件的标准API,可以再网络上交换数据。
支持多种文件格式
支持多种程序语言
DOM提供了几个属性可以容易的访问树结构中的节点。如下
以parentNode、childNodes、previousSibling为例进行说明,看下面代码
[html] view
plaincopyprint?
<span style="font-size:18px;"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
//显示当前节点的父节点
function showParentNode()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找父节点
var parent=myObj.parentNode;
//显示父节点名
alert(parent.nodeName);
}
//显示孩子节点列表,返回类型为NodeList
function showchild()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找节点的子节点列表
var child=myObj.childNodes;
//循环显示子节点列表
for (var i=0;i<child.length;i++)
{
alert(child[i].nodeName);
}
}
//显示下一个兄弟节点
function showSibling()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找下一个兄弟节点
var sibling=myObj.nextSibling;
//显示
alert(sibling.nodeName);
}
</script>
</head>
<body>
<form>
<ul id="lilong">
<li id="lilongsheng">
<a href="#" >标题1</a>
<a href="#" >标题2</a>
<a href="#" >标题3</a>
<a href="#" >标题4</a>
</li>
<hr/>
</ul>
<input type="button" onclick="showParentNode()" value="获取父标签名" />
<input type="button" onclick="showchild()" value="获取子标签名" />
<input type="button" onclick="showSibling()" value="获取兄弟标签名" />
</form>
</body>
</html></span>
分别单击三个单选按钮,可以获得结果如下:
分别获得当前标签的父标签、子标签、兄弟标签,其余方法不再累述,可以使用这些简单的方法实现对DOM文档模型里的元素进行增、删、改、查,操作DOM文档。
这样我们就可以通过DOM提供给的方法、接口来访问HTML内容,而不需要单个元素一个一个的查询。
优点:
跨平台和程序语言的程序接口
DOM提供应用程序环境的一种标准程序处理接口,这是一种HTML和XML文件的标准API,可以再网络上交换数据。
支持多种文件格式
支持多种程序语言
DOM提供了几个属性可以容易的访问树结构中的节点。如下
以parentNode、childNodes、previousSibling为例进行说明,看下面代码
[html] view
plaincopyprint?
<span style="font-size:18px;"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
//显示当前节点的父节点
function showParentNode()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找父节点
var parent=myObj.parentNode;
//显示父节点名
alert(parent.nodeName);
}
//显示孩子节点列表,返回类型为NodeList
function showchild()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找节点的子节点列表
var child=myObj.childNodes;
//循环显示子节点列表
for (var i=0;i<child.length;i++)
{
alert(child[i].nodeName);
}
}
//显示下一个兄弟节点
function showSibling()
{
//获得当前节点对象
var myObj=document.getElementById("lilongsheng");
//查找下一个兄弟节点
var sibling=myObj.nextSibling;
//显示
alert(sibling.nodeName);
}
</script>
</head>
<body>
<form>
<ul id="lilong">
<li id="lilongsheng">
<a href="#" >标题1</a>
<a href="#" >标题2</a>
<a href="#" >标题3</a>
<a href="#" >标题4</a>
</li>
<hr/>
</ul>
<input type="button" onclick="showParentNode()" value="获取父标签名" />
<input type="button" onclick="showchild()" value="获取子标签名" />
<input type="button" onclick="showSibling()" value="获取兄弟标签名" />
</form>
</body>
</html></span>
分别单击三个单选按钮,可以获得结果如下:
分别获得当前标签的父标签、子标签、兄弟标签,其余方法不再累述,可以使用这些简单的方法实现对DOM文档模型里的元素进行增、删、改、查,操作DOM文档。
相关文章推荐
- 深入浅出JavaScript (六)分析DOM模型
- 深入浅出JavaScript (六)分析DOM模型
- 深入浅出JavaScript (六)分析DOM模型
- 深入浅出DOM模型(源码分析)!
- Javascript文档对象模型(DOM)实例分析
- javascript事件捕获机制【深入分析IE和DOM中的事件模型】
- Javascript文档对象模型(DOM)实例分析 - 爵士的舞步 - JavaEye技术网站
- javascript的dom模型
- javascript--DOM对象模型的常用操作属性和方法
- javascript中的事件捕获机制,深入理解并区别IE和DOM中的事件模型
- JavaScript学习笔记(09)之文档对象模型DOM
- 关于javascript DOM事件模型的两件事
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- JavaScript编程:文档对象模型DOM
- JavaScript--dom(文档对象模型)
- javascript计算器之DOM事件模型-----浏览器兼容问题
- JavaScript系列:DOM模型
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- javascript DOM模型
- Javascript原型链式模型分析