今天我遇到了一些奇怪的事情。
由于某些原因,此函数始终返回true,即使给定的父元素中没有title元素。
// JSEPlaceholder contains "#adiv"
if(typeof $(JSEPlaceholder).children().find("title") !== "undefined"){
alert();
}
为什么会这样?
答案 0 :(得分:8)
这是因为jQuery将总是返回一个jQuery对象。它可能不包含任何元素,但它仍然是一个对象。
你想要做的是检查它的长度。
if($(JSEPlaceholder).children().find("title").length > 0){
alert();
}
答案 1 :(得分:4)
$.find()
永远不会返回undefined
。如果什么也没找到,它只返回一个空集合。