Hya星,
我想運行一些代碼只有在焦點的文本框具有一定的ID。 這裏是我的代碼:
$("input:text").focus(function() {
if ($(this) == $("#divid")) {
//action
}
});
它不工作,我不知道爲什麼。
Hya星,
我想運行一些代碼只有在焦點的文本框具有一定的ID。 這裏是我的代碼:
$("input:text").focus(function() {
if ($(this) == $("#divid")) {
//action
}
});
它不工作,我不知道爲什麼。
嘗試通過id直接比較。
if (this.id === "divid") {
// do something
}
謝謝,解決了它。將選擇你的答案。 – 2012-08-13 20:09:52
這將永遠不會工作,因爲每次調用$()
都會返回一個新對象。
但是:
this == $('#divid')[0]
應該工作。或者,正如Kevin B明智地表明的那樣,只要看看你的元素是否有問題的「id」。
這可能比比較ID更好。僅僅因爲兩個ID是平等的並不意味着這兩個元素將是相同的。 – jbabey 2012-08-13 20:07:29
@ jbabey它應該是這個意思。 – Fresheyeball 2012-08-13 20:08:44
@jbabey如果你有有效的標記,並且你正在查詢DOM中存在的元素,那麼OP就不會這樣。 – 2012-08-13 20:09:32
$(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
}
});
});
您可以使用jQuery的.is
檢查。
if($(this).is('#divid')){
}
console.log($(this));你會明白爲什麼這個條件不起作用。 – 2012-08-13 20:05:46
如果你發佈了jsfiddle,它會有所幫助。 – 2012-08-13 20:05:49