簡體   English   中英

替換img屬性僅在第一次使用時有效

[英]Replace img attribute only works first time

所以我有這個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屬性。 為什么會這樣呢? 如果有人可以提供幫助,將不勝感激。 謝謝!

這條線

$('img.a')。attr('src',圖稿);

正在使用類a替換所有圖像的src屬性值。

另外,您在此行上缺少第二個參數replace()

藝術作品= Artwork.replace('src');

對您來說很幸運,除非圖像URL中出現字符串“ src”,否則它什么也不做。

如果運行代碼,然后在檢查器/控制台中運行以下行:

$('img.a');

您會看到您已將每個圖像更改為完全相同的來源。 您應該考慮給顯示此信息的項目一個唯一的ID,以便您可以使用類似以下的代碼來調用它:

$('#myID img').attr('src',artwork);

我似乎已經知道了。 我通過以下方法解決了它:

$('img.a:first').attr('src', artwork);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM