Javascript 如何使用jquery onclick更改元素的src
我有一个视频播放器,我想在上面的一些锚当点击他们,视频的src改变。我该怎么做?按首选项,无需页面刷新 所以它应该是这样的:Javascript 如何使用jquery onclick更改元素的src,javascript,jquery,src,Javascript,Jquery,Src,我有一个视频播放器,我想在上面的一些锚当点击他们,视频的src改变。我该怎么做?按首选项,无需页面刷新 所以它应该是这样的: <a href="#">Video 1</a> <!-- load video1.mp4 --> <a href="#">Video 2</a> <!-- load video2.mp4 --> <a href="#">Video 3</a> <!-- load vide
<a href="#">Video 1</a> <!-- load video1.mp4 -->
<a href="#">Video 2</a> <!-- load video2.mp4 -->
<a href="#">Video 3</a> <!-- load video3.mp4 -->
<video class="myVideo" controls preload="auto" width="600" height="350" >
<source src="video1.mp4" type="video/mp4" /> <!--this src should be changed by onclick-->
</video>
可以使用数据()
在
- 您可以使用正确的视频url向链接添加
数据属性
- 将事件绑定到链接
- 单击链接时,阻止默认行为
$(文档)。在('click','a',函数(e){
e、 预防默认值();
var source=$(this.data('source');
log('changing to“'+source+'”);
$('.myVideo source').attr('src',source);
$('.myVideo').load();
});代码>
将数据属性添加到标签和视频中。那你就能做到了
<a class="videoLink" href="#" data-url="video1.mp4" >Video 1</a> <!-- load video1.mp4 -->
注意:
某些浏览器在更改src
后可能不会更改视频。在这种情况下,需要对它们调用load函数
$('#myVideo').load();
$(文档).ready(函数(){
$(“a”)。单击(功能(e){
e、 preventDefault();//防止的默认行为
使用数据
函数来获取信息,而不是属性
函数。在这种情况下,你真的不需要这样做。你的方法工作得很好,但是,使用数据
函数会更加新奇和干净。我可以在源代码中看到src在单击锚定时发生的变化,但视频仍在播放video1.mp4i可以看到单击“锚定”时,源中的src发生变化,但视频仍在播放video1.mp4这将在单击并播放时加载视频
$('#myVideo').load();