我的代码中遇到了.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/ 我在这里缺少什么?
干杯!
答案 0 :(得分:2)
第3个不起作用,因为它在选择中已经没有输入类型。
如果您在选择中提供输入,则可以过滤下面的输入
element = $('#qform input').filter('[type=radio]');
element = $('#qform input').filter(':radio');