1
只是一個小的難題,爲什麼會...
$(document).ready(function(){
if ($("body").find(".bogusCrap")) {
alert("FOUND bogusCrap");
}
})
...返回true?
以下檢查工作如同預期:
$(".bogusCrap").length > 0
作品如預期
只是一個小的難題,爲什麼會...
$(document).ready(function(){
if ($("body").find(".bogusCrap")) {
alert("FOUND bogusCrap");
}
})
...返回true?
以下檢查工作如同預期:
$(".bogusCrap").length > 0
作品如預期
$("body").find(".bogusCrap")
返回一個空數組狀物體。對象,即使在空的時候,也不是,而是的值,它們是truthy的值。這意味着簡單來說,一個空對象(或一個空數組)等於true
。
你可以自己嘗試一下:
if ([])
alert("True");
if ({})
alert("True");
正如費利克斯·克林在下面的評論中指出,$("body").find(".bogusCrap")
實際上返回一個jQuery object,但我所說的上面仍然適用。
更確切地說,它返回一個jQuery對象。 – 2014-10-06 15:27:28
'if({}){alert('All objects are truthy。'); ''。 $(「body」)。find(「.bogusCrap」).length> 0'按預期工作,以及順便說一句。 – 2014-10-06 15:28:05
-1因爲你可以通過花一分鐘查找[文檔](http://api.jquery.com/find/)來找到自己的答案,然後你會看到'.find()'確實不要簡單地返回一個布爾值。 – Stijn 2014-10-06 15:29:29
'~~ $()=== true' – Alnitak 2014-10-06 15:30:37