2011-03-31 168 views
4

我使用一個jQuery插件,它採用以下行我不想選擇隱藏的元素,我該怎麼做?

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

它選擇一些元素。

它也選擇隱藏的元素,我怎麼能實現,沒有給隱藏元素的任何類?

而且它必須在IE中工作。

+1

如果你的意思是類型的'輸入=「隱藏」'或一個不是你或許應該澄清可見。 – 2011-03-31 13:09:48

+0

@ Box9:是它的。 – Gaurav 2011-03-31 13:11:15

回答

2

您可以在選擇器返回的數組上使用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

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

不會選擇隱藏的元素。

+0

我已經試過,但沒有工作。 – Gaurav 2011-03-31 12:36:36

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爲「欄」隱藏的元素沒有選擇

+0

其現在修復 – mcgrailm 2011-03-31 13:04:48

+0

這個我特定於特定的類。我不想使用課堂。我不知道哪些班可以在那裏。 – Gaurav 2011-03-31 13:08:09

+0

@Gaurav我已更正 – mcgrailm 2011-03-31 13:11:27

相關問題