我需要从link获取一个href值,并将该值放入源选择器的scr中。
<source src="HERE should be value" type="audio/mpeg">
我的代码
<div id="music">
<a href="horse.mp3">taken</a>
</div>
<audio controls>
<source src="1.mp3" type="audio/mpeg">
</audio>
<script>
$(document).ready(function(){
$('#music a').click(function(){
event.preventDefault();
var value = $(this).attr('href');
$('p').html("<p>"+value+"</p>");
$('source').html("<source[scr$="+value+"</source>");
});
});
</script>
目的1.mp3应该与hourse.mp3一起swop
我的代码不起作用,scr的值不会改变 有什么想法吗?
答案 0 :(得分:0)
直接设置src
属性:
$('source').attr("src", value);
要从新来源预加载音频,请使用 audio | video.load()功能:
$('#music a').click(function(){
event.preventDefault();
var value = $(this).attr('href');
$('p').html("<p>" + value + "</p>");
$('source').attr("src", value);
// document.getElementsByTagName("audio")[0].load(); // pure JS approach
$('audio')[0].load(); // to preload the audio from the new source
$('audio')[0].play(); // to play the audio immediately
});
答案 1 :(得分:0)
你在这里有什么:
$('p').html("<p>"+value+"</p>");
$('source').html("<source[scr$="+value+"</source>");
不是像您期望的那样替换标签。它将html 插入现有元素。
仅更改attr:
$('p').html(value);
$('source').attr("src", value);
另请注意src / scr拼写错误。