0

基本的に私はフォームを持っており、それが送信されたら、空白のフィールドにクラスを追加して、入力するフィールドを強調表示します。

ただし、ユーザーが入力を入力し始めたり、「選択」を変更したりした場合は、このクラスを削除したいと思います。

これが私が試していることです。私の問題は、変更された要素だけを選択する方法がわからないことです。これどうやってするの?

$("input, select").change(function(){
    $('input').removeClass('highlight'); // Only affect modified element
    });
4

3 に答える 3

1

あなたは$(this)私が推測するを使用することができます:

$("input, select").change(function(){
  $(this).removeClass('highlight'); // Only affect modified element
});
于 2012-10-27T04:20:14.483 に答える
1

を使用しthisます。これは、すべてのイベント(および多くの非イベント)コールバックを使用する非常に一般的なjQueryイディオムです。

$("input, select").change(function(){
    $(this).removeClass('highlight'); // Only affect modified element
});

http://api.jquery.com/bind/#event-handlers

上記のhandlerように、パラメーターはコールバック関数を取ります。ハンドラー内で、キーワードthisはハンドラーがバインドされているDOM要素を参照します。jQueryの要素を利用するために、通常の関数に渡すことができます$()

于 2012-10-27T04:20:26.510 に答える
0

単に使用して$(this)ください。jQueryメソッドは、デフォルトでその引数をイベント要素として使用します。影響を与えるだけの場合は、次のようにしますinput

$(this).filter("input").removeClass(...)
于 2012-10-27T04:20:55.343 に答える