jquery - 有没有办法从类型集合中选择第一个元素

标签 jquery jquery-selectors

我想知道是否有办法使用 jQuery(以链接方式)来选择以下内容:

<div class="panel">
    <input id="first" type="text" />
    <input id="second" type="text" />
</div>

<div class="panel">
    <h2>Panel title</h2>
    <textarea id="third"></textarea>
    <input id="fourth" type="text" />
</div>

<div class="panel">
    <p>Some paragraph</p>
    <select id="fifth"></select>
    <input id="sixth" type="text" />
</div>

我想选择每个 input 中存在的第一个表单元素(即 select/textarea/div.panel ) .

因此,在上面的示例中,我的 jQuery 选择器将返回三个元素的集合:input#first , textarea#thirdselect#fifth .

下面的循环将得到我想要的结果,但是肯定有一种符合 jQuery 的更简洁的方法可以一次性完成此操作?

var firstFormFieldList = [];

$('.panel').each(function(i, el){
   var firstEl = $(el).find('input,select,textarea').filter(':first');
   firstFormFieldList.push(firstEl);
});

最佳答案

您正在寻找 :input 选择器 ( DOCS ):

$('.panel').find(':input:first')

Example

关于jquery - 有没有办法从类型集合中选择第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366699/

相关文章:

javascript - 在鼠标悬停时显示不同的标题文本(手电筒效果)

jQuery : how to select a checked radio?

jquery-selectors - 使用 jQuery 查找元素的动态类名

jquery - 具有过滤功能的 CSS 网格无法正常工作

javascript - jQuery 或 JS 显示大图

javascript - jquery 仅显示下一个具有相同类的 div

jquery-selectors - jQuery :not(:first) not working in IE8, 但在 FF 和 Chrome 中

javascript - 如何使用 jQuery 选择具有特定 ARIA 值的所有元素?

jquery - Vue 2 日期选择器组件

jquery - 我应该如何称呼这种行为?