DOM之操作技术

1.1 动态脚本

  动态加载的外部JS文件能够立即运行。难点在于如何知道脚本加载完成了?可以通过事件来检测。IE对待<script>元素特殊性,不允许DOM访问其子节点。使用元素的text属性来指定JS代码。

1.2 动态样式

  IE对待<style>元素特殊性,不允许DOM访问其子节点。使用元素的styleSheet属性来指定代码。小心IE的styleSheet属性,在重复设置和设置为空时,可能导致浏览器崩溃。

1.3 操作表格

  为了方便创建表格,HTMLDOM为<table>、<tbody>和<tr>元素添加了一些属性和方法。使用这些属性和方法,操作表格更加方便。

1.4 使用NodeList

  理解NodeList及其”近亲“NameNodeMap和HTMLCollection,是从整体上理解DOM的关键所在。这三个集合都是”动态的“。

var divs = document.getElementsByTagName("div"),
      i,
      div;

    for( i = 0; i < divs.length; i++) {
        div = document.createElement("div");
        docment.body.appendChild(div);
    }

这段代码会是一个死循环,因为i的值和divs.length的值同步增长。因修改成如下形式:

var divs = document.getElementsByTagName("div");
      i,
      len,
      div;

    for ( i = 0, len = divs.length; i < len; i++) {
        div = document.createElement("div");
        document.body.appendChild(div);
    }

1.6 小结

  DOM由各种节点构成。

  1)最基本的节点类型是Node,用于抽象地表示文档中一个独立的部分;所有其他类型继承自它。

  2)Document类型表示整个文档,是一组分层节点的根节点在JS中,document对象是Document类型的一个实例。

  3)Element节点表示文档中的所有HTML或XML元素。

  4)另外的节点类型,分别表示文本内容、注释、文档类型等。

  访问DOM的操作在处理<script>和<style>元素时还是存在一定复杂性。某些浏览器会将它们与其他元素区别对待。导致了使用innerHTML和创建新元素时的一些问题。在JS中操作DOM是非常昂贵的操作,应尽量减少。

时间: 2024-12-15 07:09:19

DOM之操作技术的相关文章

《JAVASCRIPT高级程序设计》节点层次和DOM操作技术

DOM可以将任何HTML和XML文档描绘成一个由多层次节点构成的结构.节点分为几种不同的类型,每种类型分别表示文档中不同的信息,每种类型都继承与Node接口,因此都共同享有一些属性和方法,同时,也拥有各自的特点.数据和方法.另外,每个节点都与其余节点存在一些关系. 一.节点树 以下面代码为例,先简单介绍一下: <html> <head> <title>Sample Page</title> </head> <body> <p&g

第10章 DOM (2 DOM操作技术)

10.2 DOM操作技术 10.2.1 动态脚本 使用<script>元素可以向页面中插入JavaScript 代码,一种方式是通过其src 特性包含外部文件,另一种方式就是用这个元素本身来包含代码.而这一节要讨论的动态脚本,指的是在页面加载时不存在,但将来的某一时刻通过修改DOM 动态添加的脚本.跟操作HTML 元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript 代码. 动态加载的外部JavaScript 文件能够立即运行,比如下面的<script>元

DOM操作技术----动态脚本

创建动态脚本有两种方式:插入外部文件和直接插入JavaScript代码 方式一:插入外部文件 <script type="text/javascript" src="client.js" ></script> 创建此节点的DOM代码等同于: var script = documen.createElement("script"); script.type="text/javascript"; scrip

javaScript DOM操作技术

在一般情况下我们操作DOM都比较简单明了,尤其是jquery出来之后,我们会发现操作DOM变得如此简单,但是也会有许多隐藏的坑,所以有时候操作DOM也并非想象中那么简单: 简单而常用的操作: 访问节点 document.getElementById()    根据Id获取元素节点 document.getElementsByName()    根据name获取元素节点 document.getElementsByClassName()    根据class获取元素节点 <html> <h

DOM操作技术

目录 动态脚本 动态样式 操作表格 使用NodeList 动态脚本 使用<script>元素可以向页面中插入JavaScript代码的两种方式:通过src特性包含外部文件:使用这个元素本身来包含代码动态脚本指的是页面加载时不存在,在将来某一刻需要通过修改DOM动态添加脚本.跟操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JS代码.(1)插入外部文件 //动态创建<script type="text/javascript" src="t

高程 第10章 DOM

DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口). DOM描绘了一个层次化的节点树,允许添加,移除和修改页面的某一部分. 注意:IE中的所有DOM对象都是以COM对象的形式实现的.这意味着DOM对象与原生JavaScript对象的行为或活动特点并不一致. 10.1 节点层次 DOM描绘出的由多层节点构成的结构,每个节点都拥有各自的特点,数据和方法,也与其他节点存在某种关系,这种关系构成了层次,所有页面标记则表现为一个以特定节点为根节点的树形结构. 文档节点是每个文

JS学习9(DOM)

DOM,文档对象模型,是一个针对HTML和XML文档的一个API,它描绘了一个层次化的节点树.值得注意的是IE中的所有DOM对象都是使用COM对象实现的,这就造成了IE中的DOM对象与原生JS对象表现并不一致. 节点层次 文档节点是每个文档的根节点.在html文档中,文档节点只有一个子节点即html元素.这个元素我们称之为文档元素,每个文档只有一个文档元素,其他所有元素都包含在文档元素中. 节点分为几种不同的类型,每种类型分别表示文档中不同的信息及标记. 比如:元素节点,特性节点,文档节点,注释

JavaScript DOM

BOM是浏览器对象模型 DOM是文档对象模型动态HTML 节点层次 DOM 描绘了一个层次化的节点树,下面的代码就是我们平时所见到的最基本的层次结构 <html> <head> <title>标题</title> </head> <body> <ui> <a>a</a> <a>b</a> </ui> </body> </html> 注:&l

从原型链看DOM--Node类型

前言: 本系列从原型,原型链,属性类型等方面下手学习了DOM文档对象模型,旨在弄清我们在DOM中常用的每一个属性和方法都清楚它从哪里来要到哪里做什么事,这样对于理解代码有一定启发.全靠自己在总结中摸索,所以对于一个问题要是深究还真能挖出许多有意思的东西,现在觉得JavaScript这个东西简直越来越有意思了. 正文:DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次化的节点树,允许开发人员添加,移除,修改页面某一部分,现在它已成为表现和操作页面