2

や、

フォーカスされたテキストボックスに特定のIDがある場合にのみ、少しコードを実行したいと思います。これが私のコードです:

$("input:text").focus(function() {
        if ($(this) == $("#divid")) {
                //action
        }
});

それは機能しません、私は理由がわかりません。

4

4 に答える 4

7

IDで直接比較してみてください。

if (this.id === "divid") {
    // do something
}
于 2012-08-13T20:05:10.263 に答える
6

$()を呼び出すたびに新しいオブジェクトが返されるため、これは機能しません。

でも:

this == $('#divid')[0]

動作するはずです。または、Kevin B が賢明に示唆しているように、要素に問題の「id」があるかどうかを確認してください。

于 2012-08-13T20:05:43.540 に答える
4

jQuery を使用.isして確認できます。

if($(this).is('#divid')){
}
于 2012-08-13T20:06:33.220 に答える
1
$(function(){ // insure your code is runing after document is ready

    $("input[type='text']").focus(function() { //css selector
        if ($(this).is("#divid")) { // use .is to check the jquery way
           //action
        }
    });

});
于 2012-08-13T20:06:20.693 に答える