私は次のものを持っています:
<audio src="blah.mp3" id="player" controls></audio>
document.getElementById('player').play();
動作します。
$('audio#player').play();
しないでください。
なんで ?jQuery セレクターでネイティブ メソッドにアクセスできませんか?
私は次のものを持っています:
<audio src="blah.mp3" id="player" controls></audio>
document.getElementById('player').play();
動作します。
$('audio#player').play();
しないでください。
なんで ?jQuery セレクターでネイティブ メソッドにアクセスできませんか?
jQuery はクエリされた DOM 要素をArray-like-Objectsにラップするため、インデックスを介してそれらにアクセスする必要があります。例えば
$('audio#player')[0].play();
ここではIdを介してクエリを実行するため、ラップされたセットに正確に 1 つのElement[0]
が存在することを確認できるため、それを取得できます (別の方法として、jQuery 独自のメソッドを使用してNode.get()
を受け取ることもできます)。