如何快速识别一个jQuery函数返回的是一个元素还是一个集合?



似乎有些jQuery函数会返回一个元素,而另一些函数会返回一组元素。

例如:

$('.class1').parents(".class2").next().next().find(".class3").show(500);

$('.class1'), parents(".class2"), find(".class3")将返回一个集合。而next()将返回单个元素。

很难确定哪个返回单个元素,哪个返回一个集合。有时,它的名称会暗示,例如parents()将返回一个集合,但parent()将返回单个元素,除非在集合上调用它。但有时,名称也有歧义,例如find()。似乎需要仔细阅读文档来识别这一点,这是没有突出显示的"返回结果:"在jQuery的帮助文档(如https://api.jquery.com/next/和https://api.jquery.com/parent/)中,唯一的线索是类似于"获取"的描述。获取紧跟在兄弟之后的’表示单个元素,’Get后代s

所以,我的问题是,是否有一种简单的方法可以轻松地识别jQuery函数是返回单个值还是返回集合?

我认为简短而简单的答案是不。

没有直观的方法来判断一个jQuery选择器将返回一个单一的元素还是一个集合,正如你在你的帖子中提到的…

这完全取决于DOM的构造。

例如,在表达式

$('.class1').parents(".class2").next().next().find(".class3").show(500);

如果碰巧只有一个元素的类名= "class3"在$('.class1').parents(".class2").next().next()的父节点下

要强制这个相同的表达式只返回第一个,必须在选择器上指定更多的限制:

$('.class1').parents(".class2").next().next().find(".class3:nth-child(1)").show(500);

相关内容

  • 没有找到相关文章

最新更新