2

我正在使用 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 属性没有替换

4

6 回答 6

2

您无需调用replace(),只需设置新的 src:

$("#image1").attr("src", "images/img_002.jpg");
于 2012-11-28T10:51:58.500 回答
1

您可以直接设置srcwith 的值:

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

http://jsfiddle.net/VFgn8/

看看jQuery 文档attr()

于 2012-11-28T10:59:02.880 回答
1

请参阅http://api.jquery.com/attr/#attr2

$("#image1").attr("src", "images/img_002.jpg");
于 2012-11-28T10:52:47.277 回答
1

您可以使用更改值

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

如果您正在使用:

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

该函数将返回一个字符串。字符串不会通过引用传递,而是被复制。所以修改它实际上并没有改变它。

于 2012-11-28T10:53:13.393 回答
0

或者你可以使用prop()

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

工作演示

于 2012-11-28T10:53:02.283 回答
0

原因是该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/

于 2012-11-28T10:53:14.887 回答