JavaScript id 属性和class 属性

HTML 文档载入时各元素对象都被标注成节点,同时根据浏览器载入的顺序,自动分配一个序号,可用document.all直接访问。

考察如下的实例:[code]

First Page!
Test!

Welcome to DOM World!

  • Newer


[/code]程序运行结果如图所示,可以看出浏览器按载入顺序为每个HTML 元素都分配了一个序号来访问对应的元素节点。

注意:如果使用document.all.length 对循环进行检查,程序会出现死循环,因为每次输出正在检查的元素时,document.all元素个数都在增加。

由于不能直观看出 document.all数组中各元素的序号分布,甚至在文档最终完成之前根本无法获知节点树的架构,这种访问方法显然不能很方便、快捷地进行元素节点访问,现在引入id 属性和class 属性。

id 属性的用途是给HTML 文档中的某个特定的元素对象加上独一无二(对当前文档而言)的标识符,便于精确访问这个元素对象。

例如:<p id="p1">Hello World!</p>在CSS 中,可以为有着特定id 的元素对象定义一种独享的样式:#p1{ border:1px solid white; background-color:#333; color:#ccc; padding:1em; }每个元素对象只能有一个id 属性值,不同的元素对象必须有不同的id 属性值。

也可利用id 属性为包含在某给定元素里的其他元素定义样式,这样定义的样式将只作用于包含在给定元素里的指定元素。

在前述的“购物清单”代码中,可通过如下方式定义

  • 之间文本的样式:#purchases li{ fontweight:bold; }id 属性就是一座桥梁,连接着文档中的某个元素和CSS 样式表中的特定样式,同时实现元素对象的相关操作。

    所有的元素都有 class 属性,不同的元素可以有相同的class 属性值,例如:[code]

    The First Line

    The Second Line

    可以通过如下方式定义

    的共享样式: .special{ text-transform:uppercase; }[/code]同时,也可以通过h1.special 方式定位第二个文本对象并改变它的样式,获取更为精确的控制。