所以我有这个jQuery函数:
$('ul li').click(function () {
var title = $('img', this).attr("title");
$("a.songtitle span").text(title);
var artist = $('img', this).attr("artist");
$("a.songartist span").text(artist);
var artwork = $('img', this).attr('src');
artwork = artwork.replace('src');
$('img.a').attr('src', artwork);
$(this).addClass('playing').siblings().removeClass('playing');
audio.load($('a#tunes', this).attr('data-src'));
audio.play();
});
因此,点击后,它会从img src属性获取专辑图片并将其替换为当前版本。正如您在this example中看到的那样,它只在第一次工作,然后当您单击“下一步”时不再替换img src属性。为什么会这样?如果有人可以提供帮助,那将非常感激。谢谢!
答案 0 :(得分:1)
这一行
$('img.a')。attr('src',artwork);
正在使用类src
替换所有图像的a
属性值。
另外,你错过了这一行replace()
的第二个参数
artwork = artwork.replace('src');
幸运的是,除非字符串“src”出现在图片网址中,否则它没有做任何事情。
答案 1 :(得分:0)
如果您运行代码然后在检查器/控制台中运行此行:
$('img.a');
您会看到您已将每张图片更改为完全相同的来源。 您应该考虑为显示此信息的项目提供唯一的ID,因此您可以使用以下内容开始调用它:
$('#myID img').attr('src',artwork);
答案 2 :(得分:0)
我似乎已经弄明白了。我通过这样做来修复它:
$('img.a:first').attr('src', artwork);