var $inputs = $('.add-item-form :input');
这将获得所有输入字段,但也会选取我不想要的选择字段。如何获取所有未选择的输入字段
例如
<select><option>example</option></select>
var $inputs = $('.add-item-form :input');
这将获得所有输入字段,但也会选取我不想要的选择字段。如何获取所有未选择的输入字段
例如
<select><option>example</option></select>
:input
是jQuery的特定伪选择了input
,textarea
,button
,和select
元素。所以,你可以这样做:
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');
...并再次拥有的浏览器的优化的东西在可能被处理的优势。
选择你的答案,因为$('。add-item-form:input:not(select)');但是var $ inputs = $('。add-item-form:input')。not(“select”)没有。 – 2012-04-19 10:37:30
@Hardworker:这很奇怪,它应该有。它对我有用:http://jsbin.com/atuzaq我认为你最好用我的答案中的第二或第三个例子,但你提到的两个例子中,两者都应该工作。 – 2012-04-19 10:45:28
使用.not()
省略选择框
var $inputs = $('.add-item-form :input').not("select")
或者使用CSS样式:not
选择
var $inputs = $('.add-item-form :input:not(select)');
兄弟洛尔兹我输入了确切的答案+ 1好!
如果你只是想input
要素,省略冒号:
$('.add-item-form input');
的:input
选择器选择所有输入,文本区域,选择和按钮元素。如果你只想要输入元素,就说input
。
(这个答案是没有好,如果你做想文本域或按钮元素。)
':input'也返回'textarea'和'button'元素。你想要那些,还是只想要'input'元素? – 2012-04-19 10:19:10