假设我在表单上有一组输入:
<form id="myform">
<input type="checkbox" id="goat_1">
<input type="checkbox" id="goat_2">
<input type="text" id="pig_3">
<input type="hidden" id="cow_1">
<input type="hidden" id="chick_3">
<input type="hidden" id="duck_5">
</form>
我想选择除type="hidden"
之外的所有输入,但有一个例外我想要任何隐藏的输入,其id以“duck”开头。我需要在一个数组中使用它,所以我可以遍历它。
所以前两部分很简单:
$("#myform").find(":input").not("[type=hidden]").each(
function () { alert("do stuff"); })
但异常怎么办?
我正在寻找最简洁的方法(更喜欢一行/语句)。
答案 0 :(得分:7)
尝试
$("#myform").find(":input").not("[type=hidden]:not([id^='duck'])").each(function () {
alert("do stuff");
});
答案 1 :(得分:0)
试试这个:
$('#myform > input').not(':hidden:not([id^=duck])').each(function (i, e) {
alert('This is my id: ' + e.id);
});
此fiddle中的工作示例。