码迷,mamicode.com
首页 > 其他好文 > 详细

DOM_节点层次_Element类型

时间:2016-05-02 22:48:02      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

一、Element类型:

nodeType: 1;

nodeName: 元素名;

nodeValue: null;

parentValue: Document 或者 Element;

var oDiv  = document.getElementById("example");
alert(oDiv.tagName);//"DIV"
alert(oDiv.nodeName);//"DIV"
alert(oDiv.tagName == oDiv.nodeName) //true

HTML始终返回全部大写 ,XML(XHTML)与源码保持保持一致。可进行以下比较:

if (element.tagName.toLowerCase() == "div") {
    //doing something
}

 

二、HTML元素:

获取特性:getAttribute() 不区分大小写 一般获取自定义特性才用getAttribute();

设置特性:setAttribute() 设置的特性统一转换为小写

var oDiv  = document.getElementById("example");
oDiv.myColor = ‘red‘;
alert(oDiv.setAttribute("myColor")); //null(IE除外)

IE相反 会自动创建自定义的特性。

删除特性:removeAttribute()  删除特性值与特性

三、attributes属性:

attributes属性包含一个NameNodeMap 动态集合 类数组对象。

1.getNamedItem(name) 返回nodeName属性等于name的节点

2.removeNameItem(name) 移除nodeName属性等于name的节点

3.setNameItem(name) 添加节点

4.item(pos) 节点索引

遍历元素属性列表:

function outputAttributes(element) {
    var pairs = new Array(),
        attrName,
        attrValue,
        i,
        len;
    for (i=0, len = element.attributes.length; i < len; i ++) {
        attrName = element.attributes[i].nodeName;
        attrValue = element.attributes[i].nodeValue;
        if (element.attributes[i].specified) {
            pairs.push(attrName + "=\""+attrValue+"\"");
        }
    }
    return pairs.join(" ");
}

1.不同浏览器返回顺序不同

2.IE7— 会返回所有可能的特性 包括没有指定的特性 以上函数返回指定特性

 

四、创建元素:

document.createElement() 不区分大小写

IE:使用传入完整的元素标签 需转义 解决部分iframe问题 详细 page 268

 

五、子节点:

IE:只返回子节点

其他浏览器:返回子节点+文本节点(元素之间的空白符)

DOM_节点层次_Element类型

标签:

原文地址:http://www.cnblogs.com/jl0630/p/5453224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!