Próbuję uzyskać rozpiętość podrzędną, która ma klasę = 4. Oto przykładowy element:
<div id="test">
<span class="one"></span>
<span class="two"></span>
<span class="three"></span>
<span class="four"></span>
</div>
Dostępne narzędzia to JS i YUI2. Mogę zrobić coś takiego:
doc = document.getElementById('test');
notes = doc.getElementsByClassName('four');
//or
doc = YAHOO.util.Dom.get('#test');
notes = doc.getElementsByClassName('four');
Te nie działają w IE. Pojawia się błąd, że obiekt (doc) nie obsługuje tej metody lub właściwości (getElementsByClassName). Wypróbowałem kilka przykładów implementacji getElementsByClassName w różnych przeglądarkach, ale nie mogłem ich uruchomić i nadal otrzymuję ten błąd.
Myślę, że to, czego potrzebuję, to getElementsByClassName w różnych przeglądarkach lub muszę użyć doc.getElementsByTagName ('span') i zapętlić, dopóki nie znajdę klasy 4. Nie jestem jednak pewien, jak to zrobić.
querySelectorAll
jest obsługiwany przez IE 8+, podczas gdy getElementsByClassName
jest obsługiwany tylko przez IE 9+. Jeśli możesz upuścić IE 7, możesz bezpiecznie używać querySelectorAll('.4')
. Nawiasem mówiąc, 4
to nieprawidłowa nazwa klasy.
document.querySelectorAll
jest DOM i nie ma nic wspólnego z YUI