2010-08-13 4 views

Répondre

15

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

e: non supporté nativement dans IE < 9, donc vous devrez étendre document/faire une fonction globale avec quelque chose comme ceci: http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/ ou utiliser quelque chose comme sizzle ou jquery - merci aux commentaires ci-dessous.

+1

Non pris en charge dans IE. http://www.quirksmode.org/dom/w3c_core.html#t11 – user113716

+0

Juste réalisé, désolé. Bloody IE .. mis à jour. – dmp

+0

On dirait qu'on nous promet un support dans IE9. – UpHelix

14

Un certain nombre de solutions ont été construites pour contourner les navigateurs getElementsByClassName natifs. Si vous utilisez l'une des bibliothèques javascript modernes (par exemple, jQuery, Prototype), elles se répandront automatiquement sur ces espaces spécifiques au navigateur.

Ainsi, par exemple, avec jQuery:

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

retourne tous les éléments DOM avec classe foo, dans un navigateur.

Si vous ne souhaitez que ce problème résolu, et ne veulent pas utiliser une bibliothèque complète, vous pouvez essayer d'utiliser quelque chose comme The Ultimate GetElementsByClassName, ce qui vous permet d'avoir:

getElementsByClassName('foo') 

Bien qu'il soit deux ans vieux, John Resig's comparison of various solutions au problème est toujours valable.

Questions connexes