1

所以我有这个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 属性中获取专辑插图,并将其替换为当前的。正如你在这个例子中看到的,它只是第一次工作,然后当你点击“下一步”时不再替换 img src 属性。为什么会这样?如果有人可以提供帮助,将不胜感激。谢谢!

4

3 回答 3

1

这条线

$('img.a').attr('src', 艺术品);

正在用class替换所有src图像的属性值。a

此外,您replace()在这一行缺少第二个参数

艺术品 = 艺术品.replace('src');

幸运的是,除非字符串“src”出现在图像 URL 中,否则它不会做任何事情。

于 2013-08-12T03:02:48.177 回答
0

如果您运行代码,然后在检查器/控制台中运行此行:

$('img.a');

您会看到您已将每个图像更改为完全相同的来源。您应该考虑为显示此信息的项目提供一个唯一 ID,以便您可以开始使用以下内容调用它:

$('#myID img').attr('src',artwork);
于 2013-08-12T03:42:07.097 回答
0

我似乎已经想通了。我通过以下方式修复了它:

$('img.a:first').attr('src', artwork);
于 2013-08-12T03:46:37.407 回答