0

編集:わかりました、コードは問題ありません。他の属性を別の場所に設定するはずの別のコードがいくつかあり、「コピー/貼り付けでID名を変更するのを忘れた」という病気に陥りました。皆様のご意見をお寄せいただきありがとうございます。骨太でごめんなさい。

ユーザーが画像をクリックしたときに jquery を使用して img src 属性を動的に変更している状況があります。基本的に、登録ボタンと登録解除ボタンを交互に切り替えます。登録ボタンをクリックすると、UnRegister イメージに正しく切り替わります。ただし、もう一度クリックしても、登録イメージに戻ることはありません。私のコード:

function unRegister() { 
        $('#reg').attr("src","/images/btnRegister.png");             
        $('#reg').attr("onClick","register()");
}
function register() {
        $('#reg').attr("src","/images/btnUnregister.png");              
        $('#reg').attr("onClick","unRegister()");          
} 

簡単そうです。両方の画像のスペルが正しく、/images ディレクトリにあることを確認しました。この小さな問題が解決されると、実行中の操作に基づいてさまざまなことを行うことになるため、2 つのルーチンが必要です。ルーチンが呼び出されていることを(便利な alert() 呼び出しを介して)確認しましたが、画像の切り替えはありません。

4

2 に答える 2

2

コードを(アポストロフィがない)に変更します。

function register() {
    $('#reg').attr("src","/images/btnUnregister.png");              
    $('#reg').attr("onClick","unRegister()");          
} 
于 2013-03-01T20:10:23.743 に答える
1

私はインライン JavaScript が嫌いです。

$(document).on('click','#reg',function(e) {
//  e.preventDefault();
    if ($(this).attr("src")==="/images/btnRegister.png") {
        $(this).attr("src","/images/btnUnregister.png");   
    } else {
        $(this).attr("src","/images/btnRegister.png");   
    }
});          

http://api.jquery.com/on/

于 2013-03-01T20:20:55.397 に答える