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

时间:2014-02-01 11:25:56

标签: javascript jquery html5 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属性。

P.S。我的脚本运行,并确实更改了视频代码中的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>

1 个答案:

答案 0 :(得分:1)

由于您使用的是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-