我正在尝试为在 IE 中以怪癖模式呈现的页面创建一个小书签。我无法控制页面的来源,因此告诉我更改文档类型将不起作用。
无论如何,我试图通过它的类来获取一个元素,但似乎 getElementsByClassName 和 querySelectorAll 在怪癖模式下不起作用。除了走 dom,还有其他方法可以完成这项工作吗?
我正在尝试为在 IE 中以怪癖模式呈现的页面创建一个小书签。我无法控制页面的来源,因此告诉我更改文档类型将不起作用。
无论如何,我试图通过它的类来获取一个元素,但似乎 getElementsByClassName 和 querySelectorAll 在怪癖模式下不起作用。除了走 dom,还有其他方法可以完成这项工作吗?
您可以为无法执行 querySelector 的浏览器创建一个实用程序 - 请注意,此示例返回一个数组,而不是节点列表。
function classReunion(classname, tag, parent){
var A= [], elements, L, who,
rx= RegExp(/'\\b'+classname+'\\b');
tag= tag || '*';
parent= parent || document;
elements= parent.getElementsByTagName(tag);
L= elements.length;
while(L){
who= elements[--L];
if(rx.test(who.className)) A.push(who);
}
return A;
}
旧的浏览器确实依靠“遍历” dom 来按类收集元素组。