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是非常昂贵的操作,应尽量减少。

DOM之操作技术的更多相关文章

  1. Js杂谈-DOM

    前言 对jQuery的依赖.导致js的原生方法的淡忘,如果是封装自己的库,那势必要用到js的许多原生方法.从Jquery强大的dom处理开始,我们开始回顾javascript那些古老而坚挺的DOM方法 ...

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

    DOM可以将任何HTML和XML文档描绘成一个由多层次节点构成的结构.节点分为几种不同的类型,每种类型分别表示文档中不同的信息,每种类型都继承与Node接口,因此都共同享有一些属性和方法,同时,也拥有 ...

  3. DOM操作技术

    1.动态script function loadScript(url) { var script = document.createElement("script"); scrip ...

  4. DOM 操作技术【JavaScript高级程序设计第三版】

    很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...

  5. DOM操作技术之动态脚本与动态样式(兼容版)

    动态脚本 使用<script>元素可以向页面中插入Javascript代码,一种方式是通过其src特性包含外部文件,另一种方式就是用这个元素本身来包含代码. 而我们要说的动态脚本,指的是在 ...

  6. 10.2 DOM 操作技术【JavaScript高级程序设计第三版】

    很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...

  7. 10. javacript高级程序设计-DOM

    1. DOM DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口) 1.1 节点层次 DOM可以将任何HTML和XML文档描绘成一个由多层节点构成的结构.节点分为几种不同的类型 ...

  8. JavaScript(5)——DOM

    DOM操作 为了写这一篇随笔真的是费了好多力气,虽然还是写不好.本来是从周一都开始写的,但是周二周三忙着去帮忙招新了,哈哈哈.感觉做自己喜欢的事特别好玩,虽然挺忙的.看着那些小鲜肉,感觉自己真的老了啊 ...

  9. JavaScript学习日志(五):DOM

    一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有 ...

随机推荐

  1. UVA11178 Morley's Theorem(基础模板)

    题目链接 题意:给出A,B, C点坐标求D,E,F坐标,其中每个角都被均等分成三份   求出 ABC的角a, 由 BC 逆时针旋转 a/3 得到BD,然后 求出 ACB 的角a2, 然后 由 BC顺时 ...

  2. Base64复习

    http://www.cnblogs.com/chengxiaohui/articles/3951129.html

  3. UML活动图与流程图的区别

    http://blog.chinaunix.net/uid-11572501-id-3847592.html UML活动图与流程图的区别 (1).流程图着重描述处理过程,它的主要控制结构是顺序.分支和 ...

  4. Java——单选按钮:JRadioButton

    import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import j ...

  5. [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify uniq

    angularjs 使用ng-repeat报错 <div ng-init="words = ['高校','高校','高校']" ng-repeat="word in ...

  6. getElement的几中属性介绍

    1.getElementById("a");   获取div的id (注意:getElementById  是没有s的,getElementsByTagName()是带s的) 这种 ...

  7. 使用.net Stopwatch class 来分析你的代码

    当我们在调试,优化我们的代码的时候,想知道某段代码的真正的执行时间,或者我们怀疑某段代码,或是某几段代码执行比较慢, 需要得到具体的某段代码的具体执行时间的时候.有一个很好用的类Stopwatch. ...

  8. CSS3 让图片镜像对称

    1.HTML代码 <!DOCTYPE html> <html> <head> <title>test</title> </head&g ...

  9. 使用Lucene开发自己的搜索引擎

    1.下载Lucene开发包,请到:http://lucene.apache.org/ 2.在myeclipse环境部署该开发包: 3.代码编写: package Lucene; import java ...

  10. tamper参数

    "tamper/apostrophemask.py","tamper/equaltolike.py","tamper/greatest.py" ...