1

画像をクリックすると PHP が実行されるように AJAX を動作させることができましたが、ページをリロードせずにこの結果をリアルタイムで視覚的に表示したいので、<img>クリック時にタグのクラスを変更したいと思います。 .

私の画像タグは現在のようなもの<img title="<?=$game['name']?>" class="game_<?=$complete?>" src="<?=$gameimgurl?>">で、PHP/AJAX で onclick に変更したいと思います。

これは可能ですか?ありがとう!:D

編集:次の行での回答のおかげで修正しました:document.getElementById(var1).className = "game_"+var2;

ただし、var2はページ上のPHPによって提供され、これは同じままであるため、これは1回しか機能しません.2回目のクリックで元の/前のクラスに戻して無限に機能させる方法はありますか?

私はここで推測しているだけですが、JSが現在のクラスを取得し、おそらく「if」ステートメントを使用してそれを反対に変更する方法はありますか?

4

2 に答える 2

3

次のように、.attr()を使用してクラスを設定できます。

$("#idname").attr('class', 'newClass');

クラスを追加したい場合は、代わりに次のように.addclass()を使用します。

$("#idname").addClass('newClass');

. removeClass()を使用してクラスを削除することもできます

$("#idname").removeClass('newClass');
于 2013-08-07T14:09:33.363 に答える
2

あなたの目的がcssクラス名を変更することだけであれば、AJAX呼び出しは必要ありません。javascriptまたはjqueryを使用して直接行うことができます(jqueryを使用している場合)

Javascript

要素のクラスを追加/変更するには:

document.getElementById("idMyElement").className = "MyCssClass";

要素にクラスを追加するには:

document.getElementById("idMyElement").className += " MyCssClass";[注: MyCssClass の前にスペースが追加されます]

要素からクラスを削除するには:

document.getElementById("idMyElement").className =  document.getElementById("idMyElement").className.replace
      ( /(?:^|\s)MyCssClass(?!\S)/g , '' );

@Harshal Mahajan の提案に従って Jquery を使用する場合

AJAX 呼び出し後に変更する必要がある場合は、AJAX 呼び出しの応答で上記を使用できます。

于 2013-08-07T14:27:05.853 に答える