0

私は私のスクリプトでこの機能を持っています:

$("#image4").click(function(){
   if($(this).attr("src")=="http://XXX.jpg"){
      $(this).attr("src","http://YYYY.jpg");
   }else{
      $(this).attr("src","http://XXX.jpg");
   } 
return false;});

HTML

<img src="http://XXX.jpg" id="image4"/>

画像をクリックすると、if 部分が機能しない理由がわかりません。私は説明します:このコードを使用しても何も変わりません。クリック機能を追加して警告すると、警告が 2 回表示され、画像が 2 回変化します。「if」が機能しないようで、「if」と「else」をその都度適用する

誰かがそれについて私を助けることができます。基本的な機能だと思いますが、なぜ機能しないのかわかりません。

ありがとう

4

2 に答える 2

0

コードのsysntaxとすべてが正しいので、それは明らかに値の問題です。問題は、srcの先頭または末尾にスペースがある可能性があります。

次のようにアラートを試してください

alert("-"+$(this).attr("src")+"-")

-(ハイフン) と src 値の間にスペースがあるかどうか。

も試してください

alert(($(this).attr("src")=="http://XXX.jpg"))、 srcが等しい場合はtrueを返す必要があります

更新: 問題を再現できます。イベント リスナー関数を 2 回アタッチする必要があります。元のコードを確認してください。それが問題だ。コードを確認してください。これは、jquery メソッドと img タグで id を別のものに変更することで確認できます

于 2013-07-05T09:23:44.550 に答える