クラス= 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とは関係ありません