0

ちょっとした問題にぶつかり、それを完全に理解することはできません。ページで jQuery を使用して、画像の読み込みとライトボックス化を処理しています。href機能セットの一部では、別のリソースに向けるためにアンカー タグの一部を置き換える必要があります。

セットにはさまざまな量の画像があるため、jQuery の.each()メソッドを使用してそれらを取得し、URL の一部を置き換えてから、注文後に 1 つにフェードインします。フェードは正しく機能しますが、JavaScript.replace()は有効ではありません (ただし、それらを変数に変換してログに記録すると、正しい結果が表示されます)。フェードイン関数をその後ろにチェーンすると、.replace実行されません。

値が要素に返されていないように感じます。私は何が欠けていますか?

ご協力いただきありがとうございます!

HTML:

<a class="test" href="aresourcewithextension_b.jpg">
    <img src="aresourcewithextension_a.jpg" />
</a>

JavaScript:

$('.test').each(function(i){
    $(this).attr('href').replace('_b.jpg','_c.jpg').delay(100*i).animate({opacity:1},200);
});
4

2 に答える 2

1

置き換えた href を設定する必要があります。.replaceそれ自体は元の文字列を更新しません。

以下のようにしてみてください、

this.href = this.href.replace('_b.jpg','_c.jpg');
于 2012-05-03T21:56:08.720 に答える
0

JavaScript であっても、文字列は不変であることを覚えておく必要があります。これを試して:

$(".test").each(function(i){
    $(this).attr("href", $(this).attr("href").replace("_b.jpg", "_c.jpg"));
    $(this).delay(100 * i).animate({opacity:1}, 200);
});
于 2012-05-03T21:59:00.487 に答える