jQuery .filter() 不起作用



我在代码中被困在.filter()上;它只是不起作用。虽然我找到了其他解决方案,但我仍然不知道为什么过滤器不起作用(以及过滤器应该在哪里工作)。我搜索了很多,但没有找到任何令人信服的东西。

这是它的内容:

<form id= "qform">
  <input type="radio" name="choice" value="1"/> 1 <br />
  <input type="radio" name="choice" value="2"/> 2 <br />
</form>

方法 1

element = $('#qform input[type=radio]');
element = $('#qform :radio');

方法 2

element = $('#qform').find('input[type=radio]')
element = $('#qform').find(':radio')

方法 3

element = $('#qform').filter('input[type=radio]');
element = $('#qform').filter(':radio');

谁能解释为什么1)&2)工作正常,而3)却不能?

虽然jQuery文档说3)也应该可以正常工作:http://learn.jquery.com/using-jquery-core/selecting-elements/我在这里错过了什么?

干杯!

第三个不起作用

,因为它在选择中已经没有输入类型。

如果您在选择中提供输入,则可以过滤如下所示的类型

element = $('#qform input').filter('[type=radio]');
element = $('#qform input').filter(':radio');

过滤器参考

最新更新