Я намагаюся отримати дочірній проміжок, який має клас = 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