问题有没有()在IE8
问题描述:
我在与下面的一行jQuery代码问题有没有()在IE8
var controls = selectedForm.find('input:not(type="hidden"), checkbox, select, textarea');
我试图做的是选择所有在selectedForm不在<input type='hidden'....>
要素问题选择。 selectedForm是一个前一个选择器,用于选择感兴趣的表单对象。这个表单里共有5个字段,其中一个是隐藏的输入字段。
我的问题是,在IE8中,变量“control”包含表单中的所有5个字段。在FF6中,这个工作正常,并返回我感兴趣的4个字段。
我假设我有一个语法错误,但我看不到它是什么。
答
注意你要使用的属性“类型”应该用方括号括起来的attribute equals selector:
var controls = selectedForm.find('input:not([type="hidden"]), checkbox, select, textarea');
答
约翰Hartsock正确识别的问题有(必须使用[type="hidden"]
),但是你也可以写不使用:not
选择该查询:
selectedForm.find('input[type!="hidden"], checkbox, etc');
+0
在问题上,它在FF6中似乎不起作用。在IE8中,工作正常。 –
Everythi在':not()'语句中的ng仍然需要适当地使用,因为它会出现在':not()'语句之外,例如':not([attribute =“value”])'或':not(:last-child)'。我非常惊讶该声明在FireFox中的作用,因为它不应该。 – animuson