$('[name='+name+']')
VS
$.find('[name='+name+']')
#1结果jquery对象数组。 ,#2返回元素数组
jquery如何确定何时返回元素vs jquery对象..
答案 0 :(得分:2)
从下面的评论中,您会混淆两个不相关的功能。 (这很容易做到。)
jQuery实例的记录的方法称为find
,它返回一个jQuery实例。您可以在实例上调用它,而不是在jQuery
函数上调用它。 E.g:
var instance = $("some selector here");
instance.find("some other selector here").doSomething();
在名为jQuery
的{{1}}函数上有一个内部,未记录的方法。如果您要使用它,您可以这样做:
find
该功能与上面记载的功能完全无关,因为它没有记录,你不应该使用它。
这与人们对jQuery#each
(您在jQuery实例上调用以记录其内容的文档化API函数)和$.each
(您在{{1上调用的文档化API函数)的混淆类似。函数循环遍历任意类数组和对象结构。)
jquery如何确定何时返回元素vs jquery对象..
几乎所有公共API调用都返回jQuery对象。内部方法可以执行jQuery需要内部方法的任何操作。 : - )
答案 1 :(得分:-1)
$('[name ='+ name +']')这将使所有元素与“name”匹配,但第二个$ .find('[name ='+ name +']')不像这个$( “父选择器”)。找到('[name ='+ name +']')这将在所选元素内找到。