【问题标题】:jquery get Child elements of <video> tagjquery获取<video>标签的子元素
【发布时间】:2014-02-01 11:25:55
【问题描述】:

我正在努力更改 &lt;video&gt; 元素中 &lt;source&gt; 元素的 src 属性。

原始标记

<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)。

我的代码似乎更改了运行时在 &lt;video&gt; 标签 (&lt;video src='') 中添加的 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>

【问题讨论】:

  • Your code works for me,它改变了source元素的src属性。
  • 谢谢您...我使用了您的输入,并因此确定我的 videojs 播放器似乎用带有原始视频 ID 的 div 将原始视频标签括起来,然后附加了一个自定义 ID到视频ID。寻找这个赋予视频元素的新 ID,我可以找到它。谢谢

标签: javascript jquery html html5-video video.js


【解决方案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-

【讨论】:

  • 那很方便...!谢谢。让我试试看。
  • 你先生,让我很开心...我发现 API 文档的布局非常混乱。也许是因为我是 JS n00b。感谢那。很有魅力。
猜你喜欢
  • 2013-10-12
  • 2011-01-26
  • 2011-07-17
  • 2013-04-29
  • 2020-02-18
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
相关资源
最近更新 更多