簡體   English   中英

不使用jQuery替換img src屬性

[英]not replacing the img src attribute using jquery

我正在使用javascript替換img src屬性

我的代碼是

<div class="reader" id="reader1"></div>    

    <img src="images/img_001.jpg" alt="image" id="image1"/>

</div> 

和javascript代碼

$("#image1").attr("src").replace("images/img_001.jpg", "images/img_002.jpg");

src屬性未替換

您不需要調用replace() ,只需設置新的src即可:

$("#image1").attr("src", "images/img_002.jpg");

參見http://api.jquery.com/attr/#attr2

$("#image1").attr("src", "images/img_002.jpg");

您可以使用更改值

$('#image1').attr('src', 'images/img_002.jpg');

如果您正在使用:

$('#image1').attr('src');

該函數將返回一個字符串。 字符串不會通過引用傳遞,而是被復制。 因此修改它實際上並沒有改變它。

您可以使用以下命令直接設置src的值:

$("#image1").attr("src", "images/img_002.jpg");

http://jsfiddle.net/VFgn8/

看看attr() jQuery文檔

或者你可以使用prop()

$("#image1").prop("src", "images/img_002.jpg");

工作演示

原因是因為replace方法實際上返回了新字符串-不在原地對其進行編輯。

您可以這樣實現您想要的:

$("#image1").attr("src", function(){
    return $(this).attr('src').replace("images/img_001.jpg", "images/img_002.jpg");
});

這通過調用函數(第二個參數)為src屬性設置了一個新值。 該函數實際上returns替換值。

實時示例(使用開發人員工具檢查src): http : //jsfiddle.net/4K3Dy/

暫無
暫無

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

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