Document、HTMLDocument、Document、Element、Node等,它们之间的关系是什么



我想知道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;

您可以在此文档中找到DocumentNodeElement的描述,以及HTMLDocument的描述。

  • Document接口表示浏览器中加载的任何网页,并作为网页内容(即DOM树(的入口点。

  • CCD_ 15是各种类型的DOM API对象继承的接口。

  • CCD_ 16是CCD_。它只有所有类型的元素通用的方法和属性。

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

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

最新更新