首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery查找选择器(‘$.find’)与$(‘选择器’)的差异

jQuery查找选择器(‘$.find’)与$(‘选择器’)的差异
EN

Stack Overflow用户
提问于 2011-05-22 00:59:59
回答 1查看 48.8K关注 0票数 16

我有一个问题,为什么这两个代码片段是不同的。

代码语言:javascript
复制
$('#ctl00_DDMenu1_HyperLink1')  
//jQuery(a#ctl00_DDMenu1_HyperLink1 Default.aspx) Console output
$('#ctl00_DDMenu1_HyperLink1').text()

上面的代码返回:Some link text

代码语言:javascript
复制
$.find('#ctl00_DDMenu1_HyperLink1')  
//[a#ctl00_DDMenu1_HyperLink1 Default.aspx] Consolee output
$.find('#ctl00_DDMenu1_HyperLink1').text()

返回

TypeError:$.find("#ctl00_DDMenu1_HyperLink1").text不是函数

这是否意味着$.find返回数组对象[]和jQuery函数不可访问?

//编辑

我使用过jQuery 1.4.2和Firebug控制台。

//练习找到答案

此代码将返回jQuery object reference,并且所有jQuery函数都是可访问的。

$('any_selector')

代码语言:javascript
复制
 `//jQuery(item1),jQuery(item2),...,jQuery(item-N) Console output     $('any_selector').text()`

此代码返回JavaScript数组对象,因此jQuery的任何函数都不能应用于结果集。即使结果集看起来是相同的。

$.find('any_selector')

代码语言:javascript
复制
 `//[item1,item2,...,item-N] Consolee output`
代码语言:javascript
复制
 `$.find('any_selector').text()`

但是我们可以使用一些技巧(奇怪的技巧)将js数组包装到jQuery选择器中:

$($.find('any_selector_as_inner_select')).val()

//感谢大家的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-22 01:10:33

这样做不起作用的原因是因为find()允许您根据您已经选择的内容过滤一组元素。例如,如果您想选择特定表单中的所有输入,您可以这样写: made.For:

代码语言:javascript
复制
$('#aParticularForm').find('input') 

它不能自己调用。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6083183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档