jQuery 选择器错误? 组合选择器与简单选择器的比较 寻找()
我的情况非常尴尬......我有这样的事情:
<div id="selector">
<input type='radio' />
<input type='radio' />
<input type='radio' />
</div>
如果我使用 $("#selector input[type=radio]")
所有三个元素都会找到,但是如果我使用 < code>$("#selector").find("input[type=radio]") 甚至 find("input")
仅找到第一个。
这是 jQuery 中的错误吗? 我没有正确使用 find()
吗?
澄清:我想使用 find() 来获取所有输入,但我尝试的任何操作都只能找到第一个输入。
编辑:我正在使用 jquery 1.3.2
Something is very awkward about my situation... i have something like this:
<div id="selector">
<input type='radio' />
<input type='radio' />
<input type='radio' />
</div>
if I use $("#selector input[type=radio]")
all three elements are found, but if I use $("#selector").find("input[type=radio]")
or even find("input")
only the first one is found.
Is this a bug in jQuery? Am I not using find()
properly?
Clarification : I want to use find() to get all the inputs, but anything I try finds only the first one.
edit: i'm using jquery 1.3.2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你真正想要的是:
至于为什么你只得到一个,我需要查看正在运行的实际代码,因为 find() 不会停在一个并且会找到所有匹配项,所以它可能是你的方式之后再使用它就是问题。
What you really want is:
As for why you're getting only one, I'd need to see the actual code that's being run because find() doesn't stop at one and will find all matches so it may be how you're using it afterwards that is the issue.
两个代码片段应该返回相同的结果。
您是说当您运行以下代码时,第一个警报将显示“3”,第二个警报将显示“1”?
您能核实一下吗?
The two code fragments should return the same result.
Are you saying that when you run the following code, the first alert will show "3" and the second "1" ?
Can you please verify?
尝试
$("#selector").find("input[type=radio]")
Try
$("#selector").find("input[type=radio]")
参见此处
所有三个都返回相同的结果!
See here
All the three returns the same result!
$("#selector").children("输入[@type=radio]")
$("#selector").children("input[@type=radio]")