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

の値は次のように直接設定できますsrc

$("#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これは、関数を呼び出して属性に新しい値を設定します (2 番目のパラメーター)。この関数は、実際returnsには置き換えられた値です。

実際の例 (開発者ツールで src を確認してください): http://jsfiddle.net/4K3Dy/

于 2012-11-28T10:53:14.887 に答える