我正在尝试获取具有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无关