我遇到了以下jQuery代码行的问题
var controls = selectedForm.find('input:not(type="hidden"), checkbox, select, textarea');
我要做的是选择selectedForm中不是<input type='hidden'....>
的所有元素。 selectedForm是一个先前的选择器,用于选择感兴趣的表单对象。此表单中总共有5个字段,其中一个是隐藏的输入字段。
我的问题是在IE8中,变量“control”包含表单内的所有5个字段。在FF6中,这可以正常工作并返回我感兴趣的4个字段。
我假设我有语法错误,但我看不出它是什么。
答案 0 :(得分:4)
请注意,您尝试使用attribute equals selector作为属性“type”,该属性应使用括号括起来:
var controls = selectedForm.find('input:not([type="hidden"]), checkbox, select, textarea');
答案 1 :(得分:1)
John Hartsock在那里正确识别了问题(必须使用[type="hidden"]
),但是您也可以在不使用:not
选择器的情况下编写该查询:
selectedForm.find('input[type!="hidden"], checkbox, etc');