为什么这总是回归真实?jQuery的

Ger*_*tra 0 javascript jquery

我今天遇到了一些奇怪的事情.

由于某些原因,此函数始终返回true,即使给定父元素中没有title元素也是如此.

// JSEPlaceholder contains "#adiv"
if(typeof $(JSEPlaceholder).children().find("title") !== "undefined"){
  alert();
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

Roc*_*mat 8

这是因为jQuery 总会返回一个jQuery对象.它可能不包含任何元素,但它仍然是一个对象.

你想要做的是检查它的长度.

if($(JSEPlaceholder).children().find("title").length > 0){
    alert();
}
Run Code Online (Sandbox Code Playgroud)