1

私はhtmlに登録されたサウンドクリップを持っています:

<audio class="aaa" id="sss"><source src="url/sound.wav"/></audio>
<script type="text/javascript">var sss = document.getElementById("sss"); sss.volume='0.1';</script>

このサウンドは、特定の div の mouseenter イベントで再生できます。

$('#divid').mouseenter(function () {
    $(sss.play());
});

idの代わりにオーディオクラスを使用してこれをどのように達成できますか?

編集:解決しました

4

1 に答える 1

1

.play()jQuery オブジェクトではなく HTMLAudioElement オブジェクトのメソッドです。jQuery ラッパーはここでは何もしません。メソッドの戻り値を.play()それに渡しているため、jQuery を使用して要素を選択し、DOM 要素オブジェクトを取得できます。 ) コレクションから取得し、その.play()メソッドを呼び出します。

$('audio.aaa').get(0).play(); // works for the first matched element in the collection

複数の要素がある場合は、.each()メソッドを使用してコレクションを反復処理できます。

$('audio.aaa').each(function() {
   // `this` keyword here refers the HTMLAudioElements
   this.foo();
});
于 2013-09-25T09:28:12.500 に答える