1

私は以下を持っています。これら2つのイベントを組み合わせる方法はありますか?ある種のforeach関数が必要ですか?

$('#AccountID').focus(function() {
    $('option[value="99"]', this).remove();
});

$('#TopicID').focus(function() {
    $('option[value="99"]', this).remove();
});​
4

3 に答える 3

4

別のセレクターが必要です。

$('#AccountID, #TopicID').focus(...);

または、さらに良いことに、共通のクラスを追加して、代わりにそれを使用します。

于 2012-05-20T02:51:45.183 に答える
1

それはあなたがイベントを組み合わせることによって何を意味するかによります。あなたはこれを行うことができます:

$('#AccountID, #TopicID')
    .focus(function () {
                $('option[value="99"]', this).remove();
            });
于 2012-05-20T02:52:04.083 に答える
1

jQueryセレクターはcssセレクターを使用するため、セレクターa,b とは、selecta b

$('#AccountID, #TopicID').focus(function () {
    $('option[value="99"]', this).remove();
});

jQuery関数にコンテキストを与えると、次のように実行されることに注意してください。

$(this).find('option[value="99"]').remove();

したがって、自分でそれを実行して、(小さいながらも)旅行とオーバーヘッドを節約できます。

jQueryソースコード:

...
...
...
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
} else {
    return this.constructor( context ).find( selector );
}
于 2012-05-20T02:52:38.660 に答える