Jquery选择器,用于在一个元素之后的表单中所有带有class的元素
Jquery selector for all elements with class in a form that are after one element
我需要找到'el'
之后的形式中类别为'complexList'
的所有元素。
var el = $(this);
var els = $('#' + obj.tableId + '_editorForm').find('.complexList');
el.nextAll('.complexList') //dont work
谢谢
如果nextAll
不起作用,则意味着存在不同层次的嵌套元素。但是你仍然可以这样做,用index
和slice
。
els = els.slice(els.index(el) + 1);
index
,当如上调用时,在匹配集合中查找给定元素的索引;slice
返回集合中元素的子集。因此,我们要求从el
之后的元素开始的子集。
的例子:
var obj = {
tableId: "foo"
};
$(document.body).on("click", ".complexList", function() {
var el = $(this);
var els = $('#' + obj.tableId + '_editorForm').find('.complexList');
els.css("color", ""); // clear previous
els = els.slice(els.index(el) + 1);
els.css("color", "blue");
});
All of the text fields below are `.complexList` fields. Click any of them to turn all `.complexList` elements <em>after</em> it blue.
<form id="foo_editorForm">
<label>
Field 1:
<input type="text" class="complexList" value="field1">
</label>
<label>
Field 2:
<input type="text" class="complexList" value="field2">
</label>
<label>
Field 3:
<input type="text" class="complexList" value="field3">
</label>
<label>
Field 4:
<input type="text" class="complexList" value="field4">
</label>
<label>
Field 5:
<input type="text" class="complexList" value="field4">
</label>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
相关文章:
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- j查询 如何选择当前元素之后的下一个元素
- 如何在元素之后将模板片段添加到angular.js中的指令中
- 在动态创建html元素之后,是否可以触发事件
- querySelector位于特定元素之后
- 获取活动元素之后的下一个元素
- 如何在 d3.js 中的同级元素之后插入
- 动态嵌套列表:单击时插入行,在当前元素之后
- 紧跟在单击的元素之后显示一个元素
- jQuery选择器,用于查找与选择器匹配的给定元素之后的第一个元素
- XSL 在“N”个子元素之后展开和折叠
- 如何使用jQuery在具有类的特定元素之后插入HTML
- 在元素之后重置表单
- 如何在 {{#each}} 循环中的元素之间添加分隔符,最后一个元素之后除外
- 将子元素淡入父元素之后
- 影响某些元素的 jQuery 函数是否必须存在于代码中的元素之后
- 如何在第二个元素之后插入
- jQuery 在最后一个元素之后插入
- 隐藏单击的元素,并使用jQuery在元素之后立即显示该元素
- 使用jquery在dom的其余部分中查找特定元素之后的第一个匹配项