2013-03-28 89 views
0

我想創建一個在怪癖模式下在IE中呈現的頁面的書籤。我無法控制頁面的來源,所以告訴我改變文檔類型將不起作用。在IE瀏覽器怪癖模式下選擇元素類

無論如何,我想通過它的類來獲取元素,但它似乎getElementsByClassName和querySelectorAll不工作在怪癖模式。有沒有其他方法可以完成這個目標嗎?

+0

polyfill:https://gist.github.com/stereobooster/2397759 – epascarello

+0

你是不是指'getElementsByClassName'? –

+0

@epascarello:這個polyfill不會走DOM嗎? – GitaarLAB

回答

3

您可以爲瀏覽器創建一個實用程序,但不能執行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按類收集元素組。

+0

這是我見過的最好的版本。而且你是我看到的第一個使用大寫L(帶有修改)的reverse while循環迭代器就像我一樣。再次感謝你,我無法贊成! – GitaarLAB

+0

謝謝一噸先生。 –