var $inputs = $('.add-item-form :input');
这会获取所有输入字段,但也会选择我不想要的选择字段。
e.g。
<select><option>example</option></select>
答案 0 :(得分:2)
使用.not()
省略选择框
var $inputs = $('.add-item-form :input').not("select")
或使用CSS样式:not
选择器
var $inputs = $('.add-item-form :input:not(select)');
答案 1 :(得分:0)
:input
是input
,textarea
,button
和select
元素的特定于jQuery的伪选择器。所以你可以这样做:
var $inputs = $('.add-item-form :input:not(select)');
...但你也可以专门打出你想要的东西:
var $inputs = $('.add-item-form input, .add-item-form textarea, .add-item-form button');
...这样做的好处是,如果浏览器支持querySelectorAll
(并且几乎所有人都在标准模式下),jQuery就可以切换到本机处理(而:input
特定于jQuery,因此浏览器的原生内容无法处理。)
或者,当然,如果您不想要textarea
和button
元素,那么这很简单:
var $inputs = $('.add-item-form input');
......再次,它具有尽可能由浏览器优化的东西处理的优势。
答案 2 :(得分:0)
如果您只想要input
元素,请省略冒号:
$('.add-item-form input');
:input
选择器选择所有input,textarea,select和button元素。如果您只想要输入元素,只需说出input
。
(如果你做想要textarea或按钮元素,这个答案就不好了。)