我不想选择隐藏元素,我该怎么做?

时间:2011-03-31 12:28:42

标签: jquery

我正在使用JQuery插件,它使用以下行

var inputSelector = 'input[class]:not(:button|:submit|:reset), textarea[class], select[class]';

选择一些元素。

它还选择隐藏元素,如何在不给任何隐藏元素的类的情况下实现它?

它必须在IE中工作。

3 个答案:

答案 0 :(得分:2)

您可以对选择器返回的数组使用not()方法。

var inputSelector = 'input[class]:not(:button|:submit|:reset), textarea[class], select[class]';
var controls = $(inputSelector).not('[type="hidden"]');

这会过滤选择器返回的数组中的隐藏元素。

答案 1 :(得分:1)

花了我一分钟,但想出来jsfiddle example

抱歉,它没有保存正确

修改 现在没有班级

这是html

<input type="text" name="foo" />
<input type="hidden" name="hidden" id="bar" value="surprise" />
<input type="submit" name="submit" />

这里是jQuery

var inputSelector = 'input:not(:button, :submit, :reset,:hidden), textarea, select';
$(inputSelector).val('foobar');
var bc = $('#bar').val();
alert(bc);

警报应该说“惊喜”,因为未选中ID为“bar”的隐藏元素

答案 2 :(得分:0)

var inputSelector = 'input[class]:not(:button|:submit|:reset|:hidden), textarea[class], select[class]';

也不会选择隐藏元素。