Element类型
nodetype:1
nodename:元素标签名。跟tagname结果一样。
1、HTML元素
所有HTML元素都由HTMLElement表示,HTMLElement直接继承自Element并添加了一些属性:
- id:元素在文档中的唯一标识
- title:有关元素的附加说明信息,一般通过工具提示条显示出来,(也就是把鼠标放在元素上边显示的提示信息)
- lang,元素内容的元素代码,很少使用
- dir,语言的方向,值为‘ltr’,(left-to-right,从左至右)或‘rtl’(right-to-left,从右至左),也很少使用
- className,与元素的class特性对应,即为元素指定的CSS类,
2、特性
每一个元素都有一个或多个特性,这些特性的用途是给出相应元素或其内容的附加信息。
操作DOM方法的方法有三个:
getAttribute()
取得特性setAttribute()
设置特性removeAttribute()
删除特性
style属性返回一个CSS对象
onclick特性必须接受一个函数的指针,否则返回null、
3、attributes属性
Element类型是使用attributes
属性的的唯一一个DOM节点类型。
attributes属性包含一个NamedNodeMap
与NodeList类似,动态类数组;
元素的每一个特性都保存在Attributes节点表示,每一个节点都保存在NamedNodeMap对象中
NamedNodeMap
对象有以下方法:
getNamedItem(name);
返回nodename属性等于name的节点removeNamedItem(name)
;从列表中删除nodeName属性等于name的节点,返回删除的节点setNamedItem(node);
向列表中添加节点,以节点的nodeName属性为索引setNamedItem()
方法向 nodeMap 添加指定的节点。并不常用因为还要创建一个新的节点
遍历整个对象的特性,并返回以空格拼接的字符串
function outputAttributes(element){
var pairs = [],
attrName,
attrValue,
i,
len;
for (i=0,len=element.attributes.length;i<len ;i++ )
{
attrName = element.attributes[i].nodeName;
attrValue = element.attributes[i].nodeValue;
pairs.push(attrName + '=\"' + attrValue + '\"');
}
return pairs.join(' ');
}
4、创建元素
IE7以下创建元素用第2种
document.create('div');
document.create('<div id=\"div1\"></div>');