2010-08-13 17 views

risposta

15

https://developer.mozilla.org/en/DOM/document.getElementsByClassName

e: non supportato nativamente in IE < 9, quindi dovresti estendere il documento/creare una funzione globale con qualcosa del genere: http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/ o usa qualcosa come sizzle o jquery - grazie ai commenti seguenti.

+1

Non supportato in IE. http://www.quirksmode.org/dom/w3c_core.html#t11 – user113716

+0

Appena realizzato, mi dispiace. Bloody IE .. aggiornato. – dmp

+0

Sembra che ci venga promesso il supporto in IE9. – UpHelix

14

Numerose soluzioni sono state create per aggirare i browser che non hanno il codice nativo getElementsByClassName. Se utilizzi una qualsiasi delle moderne librerie javascript (ad esempio jQuery, Prototype), esse spariranno automaticamente su queste lacune specifiche del browser.

Così, per esempio, con jQuery:

$('.foo').get(); 

restituisce tutti gli elementi DOM con classe foo, in qualsiasi browser.

Se desideri solo questo particolare problema risolto, e non si desidera utilizzare una libreria completa, è possibile provare a utilizzare qualcosa come The Ultimate GetElementsByClassName, che ti permette di avere:

getElementsByClassName('foo') 

Anche se è un paio di anni vecchio, John Resig's comparison of various solutions al problema è ancora prezioso.

Problemi correlati