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 回答