Javascript 是否尝试在单击时替换音频src值?

Javascript 是否尝试在单击时替换音频src值?,javascript,jquery,html5-audio,Javascript,Jquery,Html5 Audio,我正在尝试为我目前正在开发的一个网站编制播放列表,目前我遇到了一些问题。到目前为止,我已经编写了脚本,它用第二首歌曲替换了默认歌曲,但单击后不会恢复。。有什么建议吗 HTML <audio id="player" src="../audio/small-skeletal.mp3" type="audio/mp3" controls autoplay></audio> <div id="audio_list" style="margin-top: 100px

我正在尝试为我目前正在开发的一个网站编制播放列表,目前我遇到了一些问题。到目前为止,我已经编写了脚本,它用第二首歌曲替换了默认歌曲,但单击后不会恢复。。有什么建议吗

HTML

<audio id="player" src="../audio/small-skeletal.mp3" type="audio/mp3" controls autoplay></audio>    

<div id="audio_list" style="margin-top: 100px;">
    <div id="track">
        <h2 class="change-song" data-track="http://www.birp.fm/music/playlists/2014/january-2014/027%20-%20Phantogram%20-%20Fall%20In%20Love.mp3">Switch to second song</h2>
        <h2 id="bb" class="change-song" data-track="http://www.logicwebmedia.com/dev/ecb/new-dev/audio/small-skeletal.mp3">Change it back!!</h2>
    </div>

脚本只会返回第一首歌曲作为值,而不会返回第二首。。如何修复此问题?

单击功能更改为:

$('.change-song').click(function(){
    var song = $( this ).data('track');
    $('#player').attr('src', song).attr('autoload','auto').attr('autoplay');
});

是对已单击元素的引用。

单击功能更改为:

$('.change-song').click(function(){
    var song = $( this ).data('track');
    $('#player').attr('src', song).attr('autoload','auto').attr('autoplay');
});

是对已单击元素的引用。

您需要使用
作为对已单击的
的引用。在单击处理程序中更改歌曲
元素。当前代码同时选择两个元素,当您检索
track
数据属性时,它仅从匹配集中的第一个元素获取该属性

$('.change-song').click(function(){
    var song = $(this).data('track');
    $('#player').attr('src', song).attr('autoload','auto');
});

您需要使用
作为对单击处理程序中单击的
.change song
元素的引用。当前代码同时选择两个元素,当您检索
track
数据属性时,它仅从匹配集中的第一个元素获取该属性

$('.change-song').click(function(){
    var song = $(this).data('track');
    $('#player').attr('src', song).attr('autoload','auto');
});
更改您的
$('.Change song')。数据('track')
$(this).data('track')这将为您提供正确的范围。很抱歉更改了片段中的歌曲文件

$('.change song')。单击(函数(){
var song=$(this.data('track');
$(“#player”).attr('src',song).attr('autoload','auto').attr('autoplay');
});

切换到第二首歌
把它换回来!!
更改您的
$('.Change song')。数据('track')
$(this).data('track')这将为您提供正确的范围。很抱歉更改了片段中的歌曲文件

$('.change song')。单击(函数(){
var song=$(this.data('track');
$(“#player”).attr('src',song).attr('autoload','auto').attr('autoplay');
});

切换到第二首歌
把它换回来!!

你的html中的
.wow
类在哪里?很抱歉,在我的索引页上是wow,应该是。换首歌。我现在将编辑最初的帖子。谢谢你的html中的
.wow
类在哪里?对不起,在我的索引页上是wow,应该是。换首歌。我现在将编辑最初的帖子。谢谢非常感谢。工作完美!写我自己的脚本比较新,所以我很欣赏!!非常感谢。工作完美!写我自己的脚本比较新,所以我很欣赏@c0nart1你可以选择这篇文章作为正确答案,让其他人知道。仍然在学习细节!谢谢你的帮助!很好用!不客气!你对它还有什么疑问吗?还是完全理解了?完全理解@c0nart1你可以选择这篇文章作为正确答案,让其他人知道。仍然在学习细节!谢谢你的帮助!很好用!不客气!你对它还有什么疑问吗?还是完全理解了?完全理解!