0

基本的には知っていますが、jqueryを使用してURL文字列を削除するにはどうすればよいですか?

たとえば、attr画像のURL文字列を#picboxというdivに割り当てるために使用するとします。最初のURL文字列を削除して(たとえばクリック機能で)、2番目のURL文字列をdivに再属性付けするにはどうすればよいでしょうか。

var urlString1 = "images/1.jpg";
var urlString2 = "images/2.jpg";

$("#picbox").attr('src', urlString1);

$("#changeString").click(function(){
  // remove urlString1 then replace with urlString2
});
4

3 に答える 3

4

削除する必要はありません。新しいものを設定するsrcと、古いものが自動的に削除されます。

$("#picbox").attr('src', urlString1);

$("#changeString").click(function(){
    $("#picbox").attr('src', urlString2);
});

パフォーマンスを向上させるには、そのセレクターをキャッシュする必要があります。

$img = $("#picbox").attr('src', urlString1);

$("#changeString").click(function(){
     $img.attr('src', urlString2);
});
于 2013-01-29T18:39:49.787 に答える
1

何を達成しようとしているのかが明確ではなく、コードの3行目に誤りがあります。

$("#picbox").attr(urlString1); // tries to read attribute named "images/1.jpg" of #picbox

私はあなたがこのようなものが欲しいと思っています:

$("#picbox").attr("data-url", urlString1); // stores value "images/1.jpg" in "data-url" attribute

$("#changeString").click(function(event) {
    $("#picbox").attr("data-url", urlString2); // replace previous value with new
});

属性名「data-url」を自分のケースに適したものに置き換えることができます。また、データ属性を引き続き使用する場合は、次を使用できます。

$("#picbox").data("url", urlString1);

.attr()と同じことを達成する

于 2013-01-29T19:00:36.463 に答える
0
var urlString1 = "images/1.jpg";
var urlString2 = "images/2.jpg";

$("#picbox").attr("src",urlString1);

$("#changeString").click(function(){
  // remove urlString1 then replace with urlString2
  $("#picbox").attr("src",urlString2);
});
于 2013-01-29T18:53:58.283 に答える