Estou tentando obter a extensão filho que tem uma classe = 4. Aqui está um elemento de exemplo:
<div id="test">
<span class="one"></span>
<span class="two"></span>
<span class="three"></span>
<span class="four"></span>
</div>
As ferramentas que tenho disponíveis são JS e YUI2. Eu posso fazer algo assim:
doc = document.getElementById('test');
notes = doc.getElementsByClassName('four');
//or
doc = YAHOO.util.Dom.get('#test');
notes = doc.getElementsByClassName('four');
Estes não funcionam no IE. Eu recebo um erro que o objeto (doc) não suporta esse método ou propriedade (getElementsByClassName). Eu tentei alguns exemplos de implementações entre navegadores de getElementsByClassName, mas não consegui fazê-las funcionar e ainda assim recebi esse erro.
Eu acho que o que eu preciso é um getElementsByClassName entre navegadores ou preciso usar doc.getElementsByTagName ('span') e percorrer até encontrar a classe 4. No entanto, não tenho certeza de como fazer isso.
querySelectorAll
é suportado pelo IE 8+, enquanto o getElementsByClassName
IE 9+ é suportado apenas. Se você pode largar o IE 7, é seguro usá-lo querySelectorAll('.4')
. A propósito, 4
é um nome de classe inválido.
document.querySelectorAll
é DOM e não tem nada a ver com YUI