0

マイページには2つのフォームがあります。送信ボタンがクリックされたものだけを選択したい。

私は次のようにするべきだと思います:

$("#signup,#login").submit(function(){
    $(this).parent("form:first").css('background-color', 'red');
    return false;   
});

しかし、"form:first" セレクターでは何も起こりません (コンテナー div を選択しているためと思われます)。「form:first」セレクターがない場合、コンテナー div が選択されます。

http://jsfiddle.net/tenfold/gupGD/

ここで何が起こっているのか誰でも助けてくれますか? どうもありがとう。

4

3 に答える 3

2

あなたは.closest()方法を使うことができます

$("#signup,#login").submit(function(){
    $(this).closest("form").css('background-color', 'red');
    return false;   
});
于 2013-02-05T17:20:36.053 に答える
2

あなたはただすることができます

$(this).css('background-color', 'red');

送信イベントはフォーム自体にバインドされています。

また、を使用するべきではありませんreturn falseが、イベントをパラメータとして使用して呼び出しますevent.preventDefault()

于 2013-02-05T17:20:56.930 に答える
0

parents()の代わりに使用する必要がありparent()ます。

ここのドキュメントから抽出:

.parents() メソッドと .parent() メソッドは似ていますが、後者は DOM ツリーを 1 レベル上に移動するだけです。

于 2013-02-05T17:19:25.277 に答える