我不太理解$("")
和$.find("")
的区别。当没有匹配的内容但你尝试对结果进行某些操作(如调用toggle()
)时,它们的行为不同。
$("").toggle(); // No error
$.find("").toggle(); // An error
$("body").find("").toggle(); // No error!
$($.find("")).toggle(); // No error
为什么?:-)
在我的背景下,我有一个使用$全局搜索元素的函数,并且没有问题,当没有匹配项时。现在我想让该函数仅在指定元素内部搜索(包装在jQuery对象中)。但是如果我传递
$
本身,它仍然应该工作。
$.find
是一个内部 CSS 选择器引擎(Sizzle),该函数仅返回找到的元素数组。它不是 jQuery 实例,因此没有 jQuery 原型方法,如toggle
。 - dfsq