2、Element类型
Element类型用来表现XML和HTML元素,提供了对元素标签名、子节点及特性的访问。
访问标签名:可以用nodeName属性,也可以用tagName属性。
HTML中,标签名始终以大写表示。XML中标签名始终与源代码中的保持一致。最好在比较之前转换成相同大小写形式。
2.1属性
id:元素在文档中的唯一标示
title:有关元素的附加说明信息,一般通过工具提示条显示。
lang:元素内容的语言代码,很少使用
dir:语言的方向,也很少使用。ltr/rtl
className:为元素指定的CSS类。
以上属性可修改。
2.2 方法
getAtteibute()取得特性名(也可取得自定义的特性)。特性名称不区分大小写。
自定义特性除了IE会为其创建属性,其他浏览器都是不存在的。
特殊:
1.style。
getAttribute访问时,返回css文本。
属性访问时,返回一个对象。
2.onclick这样的事件处理程序。
getAttribute访问时,返回相应代码的字符串。
访问onclick属性时,返回js函数。因为onclick及其他事件处理程序属性本身应该被赋予函数值。(不懂,谁懂的话,求大神告知!!!)
setAtteibute(要设置的特性名,要设置的值)。次方法设置的特性名会转换成小写形式。
removeAttribute()彻底删除元素。
createElement(要创建元素的标签名)。标签名在HTML中不区分大小写;XML中区分大小写。
IE中createElement可传入完整的元素标签。这样会避开IE7及更早版本动态创建元素的某些问题。
2.3attributes属性
attributes属性包含一个NamedNodeMap,一个动态的集合。
有下列方法:
getNamedItem(name):返回等于name的节点
removeNamedItem(name):从列表中删除
setNamedItem(node):向列表中添加节点,以节点的nodename属性为索引
item(pos)返回位于数字pos位置处的节点。
遍历元素的特性时,attributes属性可以用,一般不用,不方便。
有兼容性问题,看书p267.
子节点可能是元素、文本节点、注释和处理指令,不同浏览器对待这些会有显著不同。
IE;不会多数空白符
其他浏览器:会将空白符考虑成子节点。(eg。<li>元素之间的空白符)