Jquery选择除隐藏类型之外的所有输入

时间:2016-04-21 07:37:05

标签: javascript jquery exception select input

我在jquery中选择所有输入,如下所示:

$('input').each(function() {
...
});

但是可以创建一个例外,比如说选择所有输入,但隐藏输入类型除外。

我知道我可以选择具有我需要的特定类型的输入,但这看起来不太好我认为

编辑: 抱歉做了错误的例子,我的意思是这样的:

document.forms["product"].getElementsByTagName("input");

,隐藏

除外

5 个答案:

答案 0 :(得分:4)

试试这个:您可以:not使用[type="hidden"]



$(function(){
  $('input:not([type="hidden"])').each(function(){
    alert($(this).val());
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input value="1">
<input type="radio" value="2">
<input type="hidden" value="3">
<input type="checkbox" value="4">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用:input:hidden选择器使用.not方法排除hidden元素。

.not 将从匹配元素集中删除元素

$('input').not(':input:hidden').each(function() {
...
});

答案 2 :(得分:0)

有各种使用方法。我更愿意使用:

$('input:visible').each();

注意: :visible 未选择 input type="hidden"

或者您可以使用更长的方法:

$('input:not([type="hidden"]').each();

或者,

$('input').not('[type="hidden"]').each();

API参考:visible-selectornot-selectornot

答案 3 :(得分:0)

使用此:

$('input:not[type=hidden]').each(function(){

});

答案 4 :(得分:0)

自您的更新

  

我的意思是这样的:

document.forms["product"].getElementsByTagName("input");
     

,隐藏

除外

尝试:

document.forms['product'].querySelectorAll('input:not([type="hidden"])')