Javascript jQuery选择器错误?组合选择器与简单选择器&;查找()

Javascript jQuery选择器错误?组合选择器与简单选择器&;查找(),javascript,jquery,sizzle,Javascript,Jquery,Sizzle,我的处境有些尴尬。。。我有这样的想法: <div id="selector"> <input type='radio' /> <input type='radio' /> <input type='radio' /> </div> 如果我使用$(“#选择器输入[type=radio]”)查找所有三个元素,但是如果我使用$(“#选择器”).find(“输入[type=radio]”)甚至查找(“输入”)只找到第一个

我的处境有些尴尬。。。我有这样的想法:

<div id="selector">
   <input type='radio' />
   <input type='radio' />
   <input type='radio' />
</div>

如果我使用
$(“#选择器输入[type=radio]”)查找所有三个元素,但是如果我使用
$(“#选择器”).find(“输入[type=radio]”)
甚至
查找(“输入”)
只找到第一个元素

这是jQuery中的一个bug吗?我是否未正确使用
find()

澄清:我想使用find()获取所有输入,但我尝试的任何操作都只能找到第一个输入

编辑:我正在使用jquery 1.3.2

$(“#选择器”)。查找(“输入[type=radio]”

尝试


$(“#选择器”).find(“input[type=radio]”

您真正想要的是:

$("#selector > :radio")

至于为什么只得到一个,我需要查看正在运行的实际代码,因为find()不会在一个位置停止,而是会找到所有匹配项,所以问题可能在于您以后如何使用它。

您真正想要的是:

$("#selector > :radio")

至于为什么只得到一个,我需要查看正在运行的实际代码,因为find()不会在一个位置停止,而是会找到所有匹配项,因此问题可能在于您以后如何使用它。

$(“#选择器”).children(“输入[@type=radio”)”

$(“#选择器”).children(“输入[@type=radio]”)这两个代码片段应该返回相同的结果

您是说当您运行以下代码时,第一个警报将显示“3”,第二个警报将显示“1”


您能验证一下吗?

这两个代码片段应该返回相同的结果

您是说当您运行以下代码时,第一个警报将显示“3”,第二个警报将显示“1”

你能核实一下吗?

所有三个返回相同的结果

$(function() {
    console.log($("#selector input[type=radio]"));          // 3
    console.log($("#selector").find("input[type=radio]"));  // 3
    console.log($("#selector").find("input"));              // 3
});

所有三个返回相同的结果

$(function() {
    console.log($("#selector input[type=radio]"));          // 3
    console.log($("#selector").find("input[type=radio]"));  // 3
    console.log($("#selector").find("input"));              // 3
});

这就是我正在使用的,很抱歉这个坏例子:)这就是我正在使用的,很抱歉这个坏例子:)与许多其他JavaScript框架不同,jQuery在执行诸如$('input')之类的搜索时不按ID获取元素。您需要在ID前面加上#::$(“#选择器”)我修复了这个示例。。。与许多其他JavaScript框架不同,当您进行$('input')之类的搜索时,jQuery不会按ID获取元素。您需要在ID前面加上#::$(“#选择器”)我修复了这个示例。。。这是一个输入错误。JQueryThat不再支持@to select属性JQueryThat不再支持@to select属性JQueryThat也在firebug控制台中尝试了这一点,两个命令返回不同的结果:复合选择器返回全部,find()只返回第一个。我也在firebug控制台中尝试了这一点,这两个命令返回不同的结果:复合选择器返回全部,find()只返回第一个。