2013-10-17 43 views
0

此代碼完全在Google Chrome中運行;但是,它在Internet Explorer中不起作用。Google Chrome和Internet Explorer中的getElementsByClassName性能

function HideMyClassItems() 
{ 
    var classone= document.getElementsByClassName('classone'); 
    for(var i=0; i<classone.length; i++) { 
    classone[i].style.display='none'; 
    } 
} 

怎麼了?

+0

您的頁面運行在怪癖模式,這是什麼錯誤。 – Tomalak

+0

你能解釋一下嗎,@Tomalak? – user2888402

+0

http://www.quirksmode.org/css/quirksmode.html – Tomalak

回答

2

IE8下不支持getElementsByClassName(),但有三個選項,你可以試試。

1:您可以創建一個功能

function getElementsByClassName(node, classname) { 
    var a = []; 
    var re = new RegExp('(^|)'+classname+'(|$)'); 
    var els = node.getElementsByTagName("*"); 
    for(var i=0,j=els.length; i<j; i++) 
     if(re.test(els[i].className))a.push(els[i]); 
    return a; 
} 

,並使用功能這樣

var classone = getElementsByClassName(document.body,'classone'); // no document 

2:您可以使用jQuery。

var classone = $('.classone'); 

3:您可以使用querySelectorAll()方法/函數。

var classone = querySelectorAll('.classone'); 
0

getElementsByClassName方法可能不適用於所有瀏覽器。

您可以嘗試使用jQuery庫作爲跨瀏覽器選擇器解決方案。

相關問題