は、なぜこの作品jQueryを使用してビデオを選択して.play()を使用することを選択できないのはなぜですか?
var v = document.getElementsByTagName("video")[0];
v.play();
そしてこの
$("#movie").play();
またはこの
$("video").play();
はないでしょうか? (ページにビデオ要素が1つしかないと仮定)
は、なぜこの作品jQueryを使用してビデオを選択して.play()を使用することを選択できないのはなぜですか?
var v = document.getElementsByTagName("video")[0];
v.play();
そしてこの
$("#movie").play();
またはこの
$("video").play();
はないでしょうか? (ページにビデオ要素が1つしかないと仮定)
jQueryで選択したオブジェクトに.play()
を使用すると、実際には実際のDOMノードではなくそのコレクションでそのオブジェクトを呼び出すことになりますjQueryオブジェクトにラップされたDOMノードの数。そして、そのオブジェクトはちょうどどのプレイ機能についても知らない。
実際、jQueryオブジェクトは、セレクタが何もヒットしなかった場合でも空になることもあります。そのパッケージへの呼び出しはすべて動作していますが、ターゲットがないため効果はありません。
(var v = document.getElementsByTagName("video")[0];
)のような配列でそのパッケージを呼び出し、その中に少なくとも1つのDOMノードがある場合、実際のDOMノードが戻りオブジェクトとして取得されます。このノードは.play()
機能を認識しています。
はこちらをご覧ください:Play/pause HTML 5 video using JQuery
2つの問題があります。おそらくあなたのページにid "video"の要素はないので、最初のjQueryステートメントは何も返しません。 2番目のステートメントの問題は、play()メソッドを持たない配列を返すことです。
第2の問題は、jQueryがjQueryオブジェクトを返し、「ネイティブ」メソッドを呼び出すためには、基になるDOM要素を取得する必要があることです。
だから、あなたは、おそらくこのような何かを探しています:$("viedeo")[0].play():
これは、最初のDOM要素のplay()メソッドが返さ呼び出します。
なぜdownvoteですか? –
私はあなたとやや同じ情報を持っていますが、グラフィカルにパックされたものではありません。 – bardiir