Я пытаюсь получить дочерний диапазон с class = 4. Вот пример элемента:
<div id="test">
<span class="one"></span>
<span class="two"></span>
<span class="three"></span>
<span class="four"></span>
</div>
У меня есть доступные инструменты: JS и YUI2. Я могу сделать что-то вроде этого:
doc = document.getElementById('test');
notes = doc.getElementsByClassName('four');
//or
doc = YAHOO.util.Dom.get('#test');
notes = doc.getElementsByClassName('four');
Они не работают в IE. Я получаю сообщение об ошибке, что объект (doc) не поддерживает этот метод или свойство (getElementsByClassName). Я пробовал несколько примеров кроссбраузерных реализаций getElementsByClassName, но я не мог заставить их работать и по-прежнему получал эту ошибку.
Я думаю, что мне нужен кроссбраузер getElementsByClassName, или мне нужно использовать doc.getElementsByTagName ('span') и перебирать, пока не найду класс 4. Я не знаю, как это сделать.
querySelectorAll
поддерживается IE 8+, тогда как getElementsByClassName
поддерживается только IE 9+. Если вы можете отказаться от IE 7, вы в безопасности querySelectorAll('.4')
. Кстати, 4
неверное имя класса.
document.querySelectorAll
является DOM и не имеет ничего общего с YUI