javascript - 当each()函数中的实例变为true时执行某些操作

标签 javascript jquery html

我正在运行 jQuery 的 .each单击运行三个行项目的按钮即可运行该函数。当单击页面上的另一个对象时,其中一个行项目将收到“选定”类别,默认情况下它从第一个行项目开始。

我想在 data-index 时执行某些操作li的大于 0 并且 li类名称为selected .

const $orderStatusButton = $('form#oar-widget-orders-and-returns-form button');

$orderStatusButton.on('click', function() {
  $(".selectric-scroll ul li").each(function() {
    var DataIndex = $(this).data('index');
    console.log(DataIndex);
    if ((DataIndex > 0) && ($(this).hasClass('selected'))) {
      $('div#oar_select-error').css('display', 'none');
    } else {
      $('div#oar_select-error').css('display', 'block');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li data-index="0" class="selected"></li>
  <li data-index="1" class=""></li>
  <li data-index="2" class=""></li>
</ul>

本质上,我想在带有 data-index 的行项目时隐藏 div 1 或 2 的类名称为 selected并在带有 data-index 的行项目时显示它0 的类名 selected我不确定我是否正确地处理了这个问题,因为它不起作用。

最佳答案

由于您循环遍历所有元素,因此您最终总是会得到每个函数最后一次迭代的显示值。 您可能应该做的是在 jquery 选择器上使用选定的类:

$(".selectric-scroll ul li.selected")

那么你只需在每个函数上处理一个元素。

关于javascript - 当each()函数中的实例变为true时执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47839318/

相关文章:

javascript - Angular 文件上传回调

c# - 使用 Jquery 将 SelectListItems 的 JSON 列表映射到 DropDown 选择列表并指示所选项目

html - 容器外的图像

java - 抓取问题(data-reactid)

javascript - TabPanel 中的 ExtJs Grid 自动调整问题

javascript - JSON 数据未通过 put 请求更新

javascript - parseInt() 不考虑前导零,即使有基数

javascript - onclick onclick 位于其他内部的元素上,也被 onclick 使用

jquery - 如何从sql中设置unicode数据?

html - 如何在多个菜单之间添加空间