`
Vksnail
  • 浏览: 43589 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

javascript------DOM技术(一)上

阅读更多

首先需要理解的一点是,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


IE6不支持,不过你可以自定义一个JS对象Node。

3.处理特性
处理特性可以使用标准的NameNodeMap中的方法:
getNamedItem(name) removeNamedItem(name) setNamedItem(node)    item(pos)

比如:<p id="test">测试</p>
假设变量oP是上面的p节点的引用,我们要访问oP的id属性:
var sId=oP.attributes.getNamedItem("id").nodue;

这些方法用起来很累赘,所以DOM又定义了三个方法来简化:
getAttribute(name)         ——返回名称为name的属性的值
setAttribute(name,value) ——顾名思义
removeAttribute(name)    ——顾名思义

上面的例子可以改写为:
var sId=oP.getAttribute("name");

4.访问指定节点:
熟知的getElementByTagName(name),getElementByName(name),getElementById(id)三个方法,不再展开。

5.创建和操作节点:
(1)创建新节点,一张IE(6.0)和FF对DOM Level1的创建新节点方法支持的对照表:

方法                                                                IE                                FF
createAttribute(name)                                  Y                                 Y
createCDATASection(text)                       N                                 Y
createComment(text)                                    Y                                 Y
createDocumentFragment()                         Y                                 Y
createElement(tagName)                            Y                                  Y
createEntityReference(name)                    N                                  Y
createProcessingInstruction(
target,data)                                                 N                                   Y
createTextNode(text)                               Y                                    Y

 

分享到:
评论

相关推荐

    javaScript-DOM编程艺术

    JavaScript-DOM编程艺术是关于如何使用JavaScript操作网页文档对象模型(Document Object Model,简称DOM)的技术。DOM是一种标准,它提供了表示和操作HTML或XML文档的接口。通过DOM,JavaScript可以访问和修改网页...

    Javascript-DOM编程艺术研究.docx

    在实际应用中,JavaScript-DOM编程的艺术不仅包括理解和掌握DOM的基本概念,还包括优化DOM操作以提高性能,比如减少DOM遍历,利用文档碎片(DocumentFragment)进行批量操作,以及使用事件委托等技术。学习DOM编程...

    returning-DOM-elements-javascript-源码.rar

    标题 "returning-DOM-elements-javascript-源码.rar" 暗示了这是一个关于使用JavaScript操作和检索DOM元素的源代码集合。DOM(Document Object Model)是HTML和XML文档的结构化表示,允许通过编程方式访问和修改文档...

    JavaScript-DOM实战案例

    JavaScript DOM(Document Object Model)是Web开发中的一个关键技术,它允许我们通过编程方式与HTML或XML文档进行交互。DOM将整个网页结构表示为一个树形的节点结构,每个元素、属性甚至文本都对应一个节点。在...

    dhtml-html-css-javascript-dom帮助文档(.chm)五合一

    “dhtml-html-css-javascript-dom帮助文档(.chm)五合一”这一标题表明这是一个综合性的技术文档资源,包含了五个关键领域的知识:Dynamic HTML (DHTML)、HTML、Cascading Style Sheets (CSS)、JavaScript以及...

    javaScript-dom编程艺术

    DHTML(Dynamic HTML)是一种利用HTML、CSS和JavaScript结合创建动态网页的技术。它使得网页的内容、样式和行为能够实时更新和交互。在DHTML中,HTML负责定义页面结构,CSS控制布局和样式,而JavaScript则负责处理...

    前端开源库-can-use-dom

    综上所述,`can-use-dom`是一个实用的前端工具,它使得开发者能够在不确定DOM是否可用的环境中安全地编写依赖DOM的代码,提高了代码的兼容性和健壮性。在进行前端跨平台开发时,正确使用此类库可以避免很多潜在的...

    JavaScriptDOM编程艺术(第2版)PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于JavaScript DOM编程技术的书籍——《JavaScript DOM编程艺术(第2版)》。尽管实际书籍内容并未给出,但从标题、描述及部分链接信息来看,这本书主要涉及JavaScript...

    前端开源库-virtual-dom-stringify

    在前端开发领域,虚拟DOM(Virtual DOM)是一个重要的概念,它是现代Web应用高效更新用户界面的关键技术之一。本文将深入探讨“virtual-dom-stringify”这个开源库,它专注于虚拟DOM的字符串化,即将虚拟DOM树转换成...

    WorkerDOM实现运行在一个WebWorker中的DOMAPI和框架

    在传统的Web应用中,所有的JavaScript代码都在主线程上运行,包括DOM操作。这可能导致UI在执行密集型任务时冻结,因为浏览器会等待脚本执行完毕才更新界面。Web Worker是为了克服这个问题而引入的,它们可以在单独的...

    javaScript DOM方法和属性摘要-Javascript教程-技术资讯-华夏名网资讯中心 虚拟主机,域名注册,双线虚拟主机,服务器租赁,为7万用户提供服务.mht

    javaScript DOM方法和属性摘要-Javascript教程-技术资讯-华夏名网资讯中心 虚拟主机,域名注册,双线虚拟主机,服务器租赁,为7万用户提供服务.mhtjavaScript DOM方法和属性摘要-Javascript教程-技术资讯-华夏名网资讯...

    js-高性能JavaScript-JavaScript语言精粹修订版

    #### 一、《高性能JavaScript》 **知识点概述:** 1. **性能优化基础知识:** - 了解JavaScript引擎的工作原理及其对性能的影响。 - 学习如何通过代码结构和组织来提高执行效率。 2. **DOM操作与优化:** - ...

    JavaScript DOM资料 网页制作完全手册

    JavaScript DOM(Document Object Model)是网页制作中的核心概念,它是一种标准,定义了怎样表示HTML或XML文档,并提供了与这些文档交互的接口。本资料集合是网页制作的完全手册,涵盖了JavaScript DOM以及相关的...

    Javascript DOM编程艺术(中文版)

    《JavaScript DOM编程艺术》这本书虽然只有四章内容,但涵盖了DOM的基础概念、操作技术、事件处理以及高级编程技术等多个方面,对于想要深入了解DOM操作的开发者来说是非常宝贵的资源。通过学习这些知识点,开发者...

    react下的react.min.js和react-dom.js

    React是Facebook开发的一个用于构建用户界面的JavaScript库,尤其适合构建单页应用(SPA)。它主要关注视图层,但也可以与其他库或框架配合使用,形成完整的MVC(模型-视图-控制器)架构。在React生态系统中,`react...

    C#使用domtoimage生成图片保存服务器

    首先,dom-to-image是一个JavaScript库,它允许我们将HTML DOM元素渲染为图像。这个库基于HTML5的Canvas技术,可以捕获DOM节点的样式、内容和布局,将其转化为高质量的图像。在C#中,我们通常需要借助Node.js环境...

    JavaScriptDOM编程艺术.pdf

    根据提供的信息,“JavaScript DOM编程艺术.pdf”这一标题与描述,主要涉及的是JavaScript中关于文档对象模型(Document Object Model,简称DOM)的相关知识和技术。DOM是HTML和XML文档的核心组成部分之一,它提供了...

    JavaScript DOM编程艺术 第2版

    从提供的信息来看,《JavaScript DOM编程艺术 第2版》是一本专注于JavaScript及其与DOM(文档对象模型)交互的书籍。DOM是网页的核心组成部分之一,它定义了如何通过JavaScript来访问和操作HTML文档中的元素。本书...

    JavaScript - JavaScript Tutorial

    ### JavaScript - JavaScript Tutorial ...以上内容为JavaScript教程的核心知识点概览,通过系统学习这些知识点,可以帮助开发者全面掌握JavaScript编程技术,无论是初学者还是有经验的开发者都能从中受益。

Global site tag (gtag.js) - Google Analytics