javascript - Jquery 选择器,用于选择表单中位于一个元素之后的所有具有类的元素

标签 javascript jquery selector

我需要找到类 'complexList' 的所有元素采用 'el' 之后的形式.

示例

var el = $(this);
var els = $('#' + obj.tableId + '_editorForm').find('.complexList');
el.nextAll('.complexList') //dont work

谢谢

最佳答案

如果nextAll不起作用,则意味着存在不同嵌套级别的元素。但你仍然可以这样做,使用 indexslice .

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>

关于javascript - Jquery 选择器,用于选择表单中位于一个元素之后的所有具有类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39145303/

相关文章:

php - 设计表单处理以支持支持 AJAX 的浏览器和非 AJAX 浏览器的最简洁的方法是什么?

javascript - Mentio JS 菜单被添加到页面底部

jquery - $ ('#id tag' ) 与 $ ('#id' ).find ('tag' ) - 哪个更可取?

Javascript - 防止右键单击滚动条以查看页面源代码

android - 在 Android 中自定义状态选项卡

javascript - 在异步循环中等待 promise

javascript - C#客户端与浏览器的通信

javascript - 如何删除 jQuery 中的实时提交事件?

visual-studio-code - 如何修复我的 sass 编译错误 : expected selector

css - MooTools 1.1,如何获取类的 ID 并应用样式