javascript - jquery 获取 <video> 标签的子元素

标签 javascript jquery html html5-video video.js

我正在努力改变 src <source> 上的属性我的元素 <video>元素。

原始标记

<video id='myVidID' class='video-js vjs-default-skin' controls autoplay preload='auto' width='1280' height='720' poster='poster.jpg' data-setup='{}'>

<source src='uploads/video/static/vid1.mp4' type='video/mp4'>
<source src='uploads/video/static/vid1.webm' type='video/webm'>

Whoops. Your browser does not Support HTML5 or Flash. Please upgrade your browser.

</video>

我想:

获取视频容器(元素),然后引用child1,再引用child2(0,1)。

我的代码似乎更改了添加的运行时 src <video> 中的属性标记 ( <video src='' ) 而不是两个子源标记的 src属性。

附言我的脚本运行了,并且确实改变了 src视频标签中的属性(这不是预期的更改)。

<script type="text/javascript">

var myVideo = videojs("myVidID");

function onComplete(){
var child = $('#myVidID').children();
child[0].src = 'uploads/video/demovid-01-02-2014.mp4';
child[1].src = 'uploads/video/demovid-01-02-2014.webm';

myVideo.load();
myVideo.play();
myVideo.off('ended', onComplete);
};

myVideo.on('ended', onComplete);

</script>

最佳答案

由于您使用的是 video.js ,您最好使用其 API 来设置新源。这样,如果必须使用 Flash 回退,它也可以工作。

myPlayer.src([
  { type: "video/mp4", src: "uploads/video/demovid-01-02-2014.mp4" },
  { type: "video/webm", src: "uploads/video/demovid-01-02-2014.webm" }
]);

https://github.com/videojs/video.js/blob/master/docs/api/vjs.Player.md#src-source-

关于javascript - jquery 获取 <video> 标签的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497433/

相关文章:

javascript - 键未正确绑定(bind)到 D3 中的元素

javascript - 通过变量引用对象

javascript - AJAX 调用后,新加载的 CSS 选择器对 jQuery.each() 不可用

html - 切换到移动设备时 Flex-wrap 失败

javascript - 为什么这个内存实现对匿名函数有效,但对声明的函数无效?

javascript - 我怎样才能获得这个链接元素?始终显示 "Unable to find element with link text == Search"

javascript - key 与 localStorage 中另一个键值的映射

javascript - 如何延迟每个项目的 Bootstrap 轮播?

php - 在引导模式中通过 Ajax 检查并提交表单

javascript - JQuery 移动页面幻灯片,新的 facebook 菜单