DOM 对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOM 对象相关的知识,希望对你有一定的参考价值。

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 对象的主要内容,如果未能解决你的问题,请参考以下文章

jQuery对象与DOM对象

JQuery对象与DOM对象

怎样判断一个对象 是 jquery对像 还是dom对象

jquery 判断是否dom对象

DOM对象和JQUERY对象

关于jquery对象与DOM对象