我正在运行 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/