7

jQueryを使用してdomがロードされるとすぐにビデオを再生しようとしています。これは私のコードです:

HTML

<video id="video" width="420">
  <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
  <source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
  <p>Your browser does not support HTML5 video.</p>
</video>

JS (script.js)

$(document).ready(function() {
  $(#video).play();
});

dom をロードしてもビデオが再生されないのですが、どこが間違っているのでしょうか? 前もって感謝します。

4

3 に答える 3

9

jQuery セレクター$("#video")は jQuery オブジェクトを返します。は DOM 要素の関数であるためplay()、次の方法で DOM 要素を取得する必要があります。

$("#video").get(0);

.play() メソッドを使用する前に:

$("#video").get(0).play();

編集: jQuery がフォールバックする場合に備えて、HTML5 の選択したタグを使用することもできます。autoplayタグに注意してください。

<video controls="controls" autoplay="autoplay" loop="loop"
width="233" height="147" poster="//www.cdn.com//video.png"
preload="auto" title="Video">
    <source src="//www.cdn.com/video.mp4" type="video/mp4"/>
    <source src="//www.cdn.com/video.ogv" type="video/ogv"/>
    <source src="//www.cdn.com/video.webm" type="video/webm"/>
</video>
于 2013-04-05T19:49:44.463 に答える
1

私はjQueryではないことを知っていますが、html5を使用した標準のjavascriptでは次を使用できます。

var video = document.getElementById("target_video");
video.autoplay = true;
video.load(); 
于 2016-09-16T10:44:53.277 に答える