文档,HTMLDocument,文档,元素,节点等。它们之间是什么关系?

我想知道documentHTMLDocumentDocumentElementNode之间的关系,以实现IE8的getElementsByClassname方法..但每当我尝试这些方法时,它都不起作用:
document.getElementsByClassname = function(){}HTMLDocument.getElementsByClassname=function(){}Element.prototype.getElementsByClassname=function(){}

        if(!Element.getElementsByClassname) {
            Element.prototype.getElementsByClassname = function(arg){
                var cssSelector;
                var parentElement = this.document||this.documentElement.document||document;
                var queryElements = null;

                if(arg){
                    if(arg.indexOf(' ')>0){
                        cssSelector = '[class~="'+arg+'"]';
                    }else{
                        cssSelector = "."+arg;
                    }
                    queryElements = parentElement.querySelectorAll(cssSelector);
                }
                return queryElements;
            }
        }
        var elems = document.getElementsByClassname('limit').item(0);
        var triangles = elems.getElementsByClassname('triangle');
        debugger;
poiplkj 回答:文档,HTMLDocument,文档,元素,节点等。它们之间是什么关系?

您可以在this doc中找到DocumentNodeElement的描述,以及hereHTMLDocument的描述。

  • Document界面表示浏览器中加载的任何网页,并充当网页内容(即DOM树)的入口点。

  • Node是一个接口,各种类型的DOM API对象都从该接口继承。

  • ElementNode的一种。它仅具有所有元素共有的方法和属性。

  • HTMLDocument接口扩展了Window.HTMLDocument属性,以包括特定于HTML文档的方法和属性。

此外,如果您只想在IE 8中使用类似getElementsByClassName的东西,我认为最简单的方法是使用document.querySelectorAll('.classname')作为替代。有关此方法的更多信息,您可以参考this article

本文链接:https://www.f2er.com/3169245.html

大家都在问