如果声明,$(this)== $(“#div”)

时间:2012-08-13 20:03:42

标签: javascript jquery

Hya星,

我想只在焦点文本框有特定ID的情况下运行一些代码。 这是我的代码:

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

它不起作用,我不确定为什么。

4 个答案:

答案 0 :(得分:7)

尝试直接通过id进行比较。

if (this.id === "divid") {
    // do something
}

答案 1 :(得分:6)

这永远不会有效,因为每次调用$()都会返回一个新对象。

然而:

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

应该有效。或者,正如Kevin B明智地建议的那样,只要看看你的元素是否有问题的“id”。

答案 2 :(得分:4)

您可以使用jQuery' .is进行检查。

if($(this).is('#divid')){
}

答案 3 :(得分: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
        }
    });

});