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

DOM 对象

时间:2016-01-26 12:25:43      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

DOM  ==  document object model
 
document 对象是唯一同时属于  BOM 和 DOM  的
 
rows 是一种DOM集合,不是数组,所以没有sort() 函数。
 
NodeList   NamedNodeMap :
 技术分享
技术分享
 
document.all  ==  document.getElementByTagName("*");   取得document中所有元素
 
ie6 在使用getElementByName() 和 getElementById() 时都会同时匹配 id 和 name 属性,要注意
 
ie 在使用 setAttribute()  有可能出错
所以尽可能使用  img.src 形式取代 img.getAttribute("src")   
 
Dom对象是host object,host 对象在ie8以及之前版本是通过COM实现的,而不是JScript
所以document.createElement 等Dom 方法是COM 对象的实例,因此typeof document.createElement 返回 object
 
每一个node节点都有自己的ownerDocument属性,如果将不同ownerDocument属性append到结构中会产生错误,需要使用importNode()方法。
 
注意直接定义在node上的属性,在标准浏览器和ie9,10中用getAttribute取不到,得到的结果是null
比如div.aa = 10,用div.getAttribute(‘aa‘)得到的是null,需要用div.aa或者div[‘aa‘]这样来取
 
 
 
Nodelist是类数组对象,但不是Array的实例( 转化为数组的话[].slice.call(eleList) ),当然用不了array的方法啦,同时它是动态更新的,实时变化的
function convertToArray(nodes)  {
    var array = null;
    try {
        array = Array.prototype.slice.call(nodes, 0); //non-IE and IE9+,throw an error because a NodeList is implemented as a COM object and thus cannot be used where a JScript object is necessary
    } 
    catch (ex)  {
        array = new Array();
        for (var i=0, len=nodes.length; i < len; i++)  {
            array.push(nodes[i]); 
        } 
    }
    return array; 
}

DOM 对象

标签:

原文地址:http://www.cnblogs.com/chuangweili/p/5159769.html

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