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

问题描述 投票:-2回答:1

我想知道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;
javascript internet-explorer dom bower
1个回答
0
投票

    Document界面表示浏览器中加载的任何网页,并且是网页内容(即DOM树)的入口点。
  • Node是从中继承各种类型的DOM API对象的接口。

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

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

  • [此外,如果您只想在IE 8中使用getElementsByClassName之类的东西,我认为最简单的方法是使用document.querySelectorAll('.classname')作为替代。有关此方法的更多信息,请参考this article
  • © www.soinside.com 2019 - 2024. All rights reserved.