JS技术

javascript之DOM技术(一)

字号+ 作者:H5之家 来源:H5之家 2015-09-12 09:05 我要评论( )

首先需要理解的一点是,DOM是针对XML的基于树的API,它的实现有很多(各语言基本都有自己的实现),我们讨论的是javascript中或者说xhtml(html)对DOM的实现。 一、使用DOM 考虑一个html文件: html headtitle测试/title/head body p测试/p /body /html 1.访

首先需要理解的一点是,DOM是针对XML的基于树的API,它的实现有很多(各语言基本都有自己的实现),我们讨论的是javascript中或者说xhtml(html)对DOM的实现。

一、使用DOM

考虑一个html文件:

<html>
<head><title>测试</title></head>
<body>
<p>测试</p>
</body>
</html>

1.访问节点:

访问html元素:var oHtml=document.documentElement;

获取head元素:var oHead=oHtml.firstChild;

获取body元素:var oBody=oHtml.lastChild; 或者 var oBody=document.body;

也可以通过childNodes来做同样的工作:

var oHead=oHtml.childNodes[0] 或者 oHtml.childNodes.item(0);

var oBody=oHtml.childNodes[1] 或者 oHtml.childNodes.item(1);

判断节点间关系:

alert(oHead.parentNode==oHtml); 
alert(oBody.previousSibling==oHead);
alert(oHead.nextSibling==oBody);
alert(oHead.ownerDocument==document);

2.检测节点类型:

通过节点的nodeType属性来检验节点类型:

alert(document.nodeType); //输出9

需要注意的是,DOM兼容的浏览器(以FF2.0为例),拥有Node.DOCUMENT_NODE、Node.ELEMENT_NODE等常量。各常量名称与数值对照表如下:

ELEMENT_NODE                 1
ATTRIBUTE_NODE              2
TEXT_NODE                     3
CDATA_SECTION_NODE         4
ENTITY_REFERENCE_NODE      5
ENTITY_NODE                   6
PROCESSING_INSTRCTION_NODE    7
COMMENT_NODE               8
DOCUMENT_NODE              9
DOCUMENT_TYPE_NODE        10
DOCUMENT_FRAGMENT_NODE  11
NOTATION_NODE               12

1 2 3 4  下一页

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 老生常谈,JavaScript闭包中的this对象

    老生常谈,JavaScript闭包中的this对象

    2016-02-26 10:21

  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • JavaScript复习笔记--字符串

    JavaScript复习笔记--字符串

    2016-01-27 17:16

  • WEB前端教程-JavaScript里的类和继承

    WEB前端教程-JavaScript里的类和继承

    2016-01-21 15:28

网友点评