2017-10-14 10 views
0

私はHTML5ビデオプレーヤーとカスタムコントロールボタンを使用しています。jQueryで 'this'の親ビデオを再生

<video width="840" id="video"> 

        <source src="{{box.video}}" type="video/mp4"> 

        </video> 
        <div class="controls"> 
        <button class="play" ><i class="fa fa-play" aria-hidden="true"></i></button> 

JSコード:

$(".play").click(function() { 
       $(this).closest("video")[0].play(); 
      }); 

私は再生ボタンをクリックし

、その未定義のエラーを取得 は、ここに私のHTML構造です。どうしたの?どうすれば修正できますか?

+0

あなたしているソースの 'src'は少し奇妙である:あなたのHTMLのサンプルを考えると、あなたはこのように、ビデオを取得するためにprev()、その後、.controlsのdivを取得するためにclosest()を使用する必要があります。 AngularjsまたはAngularを使用していますか? –

+0

私はAngularJSを使用しています –

+0

なぜjQueryが必要ですか?角度のng-clickは間違っていますか? –

答えて

0

videoは、クリックされたボタンの親ではないためです。

$(".play").click(function() { 
    $(this).closest('.controls').prev('video')[0].play(); 
}); 
<video width="840" id="video"> 
    <source src="{{box.video}}" type="video/mp4"> 
</video> 
<div class="controls"> 
    <button class="play"> 
    <i class="fa fa-play" aria-hidden="true"></i> 
    </button> 
</div>