jQuery .filter()不起作用

时间:2014-12-21 20:27:01

标签: javascript jquery

我的代码中遇到了.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)&amp; 2)工作正常但3)没有?

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

干杯!

1 个答案:

答案 0 :(得分:2)

第3个不起作用,因为它在选择中已经没有输入类型。

如果您在选择中提供输入,则可以过滤下面的输入

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

Reference for filter