11
// now pause all active videos
$('.vid').get(0).pause();
$('.vid').get(1).pause();
$('.vid').get(2).pause();

这就是我现在所拥有的,但它并不理想。我有点累了,所以我可能会遗漏一些明显的东西,但是我怎么能告诉它暂停页面上所有 .vid 类的实例呢?

4

6 回答 6

20

尝试

$('.vid').each(function() {
    $(this).get(0).pause();
});
于 2012-11-29T20:49:49.300 回答
13

没有真正需要 jQuery,ES6 方式(应该在大多数现代浏览器中工作......)

对于所有<video>标签:

document.querySelectorAll('video').forEach(vid => vid.pause());

或在您的情况下(寻找.vid课程):

document.querySelectorAll('.vid').forEach(vid => vid.pause());
于 2019-12-02T13:37:46.990 回答
6
$("video").each(function() {
    $(this).get(0).pause();
});

更一般?所有视频!

于 2016-12-07T19:38:26.140 回答
2

Video.js 将页面上的所有播放器存储在V .players 中的一个对象中,因此您可以执行以下操作。

视频 JS 3.x

普通JS

for( player in window._V_.players ) {
    window._V_.players[player].pause();
}

http://jsfiddle.net/3n1gm4/SNZAS/

jQuery

jQuery.each( window._V_.players, function( i, player ) {
    player.pause();
});

http://jsfiddle.net/3n1gm4/cJ8jx/

视频 JS 4.x

普通JS

for( player in window.vjs.players ) {
    window.vjs.players[player].pause();
}

jQuery

jQuery.each( window.vjs.players, function( i, player ) {
    player.pause();
});
于 2012-11-26T15:27:12.823 回答
0

jQuery.each($('.vid'), pause)

工作?

于 2012-11-21T01:50:11.773 回答
0

此选项适用于所有浏览器。这是一个简单的for循环来获取所有视频标签,然后暂停每个标签。

var videoList = document.getElementsByTagName("video");
for (var i = 0; i < videoList.length; i++) {
    videoList[i].pause();
}
于 2020-04-25T19:03:52.550 回答