我不想选择隐藏的元素,我该怎么做?
问题描述:
我使用一个jQuery插件,它采用以下行我不想选择隐藏的元素,我该怎么做?
var inputSelector = 'input[class]:not(:button|:submit|:reset), textarea[class], select[class]';
它选择一些元素。
它也选择隐藏的元素,我怎么能实现,没有给隐藏元素的任何类?
而且它必须在IE中工作。
答
您可以在选择器返回的数组上使用not()方法。
var inputSelector = 'input[class]:not(:button|:submit|:reset), textarea[class], select[class]';
var controls = $(inputSelector).not('[type="hidden"]');
这将隐藏的元素过滤出由选择器返回的数组。
+0
谢谢。它的工作。但有没有什么办法可以添加任何东西到inpuSelector不添加到控件 – Gaurav 2011-04-01 06:01:20
答
var inputSelector = 'input[class]:not(:button|:submit|:reset|:hidden), textarea[class], select[class]';
不会选择隐藏的元素。
+0
我已经试过,但没有工作。 – Gaurav 2011-03-31 12:36:36
答
我花了一分钟,但想通了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为“栏”隐藏的元素没有选择
如果你的意思是类型的'输入=“隐藏”'或一个不是你或许应该澄清可见。 – 2011-03-31 13:09:48
@ Box9:是它的。 – Gaurav 2011-03-31 13:11:15