如何将价值放入scr

时间:2017-02-07 18:19:35

标签: jquery selector

我需要从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的值不会改变 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

直接设置src属性:

$('source').attr("src", value);

DEMO

要从新来源预加载音频,请使用 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拼写错误。