我在jquery中选择所有输入,如下所示:
$('input').each(function() {
...
});
但是可以创建一个例外,比如说选择所有输入,但隐藏输入类型除外。
我知道我可以选择具有我需要的特定类型的输入,但这看起来不太好我认为
编辑: 抱歉做了错误的例子,我的意思是这样的:
document.forms["product"].getElementsByTagName("input");
,隐藏
除外答案 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;
答案 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-selector,not-selector,not
答案 3 :(得分:0)
使用此:
$('input:not[type=hidden]').each(function(){
});
答案 4 :(得分:0)
自您的更新
我的意思是这样的:
document.forms["product"].getElementsByTagName("input");
,隐藏
除外
尝试:
document.forms['product'].querySelectorAll('input:not([type="hidden"])')