我想創建一個在怪癖模式下在IE中呈現的頁面的書籤。我無法控制頁面的來源,所以告訴我改變文檔類型將不起作用。在IE瀏覽器怪癖模式下選擇元素類
無論如何,我想通過它的類來獲取元素,但它似乎getElementsByClassName和querySelectorAll不工作在怪癖模式。有沒有其他方法可以完成這個目標嗎?
我想創建一個在怪癖模式下在IE中呈現的頁面的書籤。我無法控制頁面的來源,所以告訴我改變文檔類型將不起作用。在IE瀏覽器怪癖模式下選擇元素類
無論如何,我想通過它的類來獲取元素,但它似乎getElementsByClassName和querySelectorAll不工作在怪癖模式。有沒有其他方法可以完成這個目標嗎?
您可以爲瀏覽器創建一個實用程序,但不能執行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按類收集元素組。
這是我見過的最好的版本。而且你是我看到的第一個使用大寫L(帶有修改)的reverse while循環迭代器就像我一樣。再次感謝你,我無法贊成! – GitaarLAB
謝謝一噸先生。 –
polyfill:https://gist.github.com/stereobooster/2397759 – epascarello
你是不是指'getElementsByClassName'? –
@epascarello:這個polyfill不會走DOM嗎? – GitaarLAB