jQuery 找到最接近的 ul 并只检查那些输入

jQuery find closest ul and check only those inputs

我有一个检查所有并且它正在工作但问题是我有多行具有相同的检查所有功能我只希望检查所有只能由最近的 ul 与输入一起工作但是我怎么能这样做吗?

JS

        $('.css-margin').each( function() {
            $(this).val(s);
        });

HTML

<div class="css-margin-padding">
<div class="check-all">
    <span class="dashicons dashicons-lock css-checkall margin-checkall"></span>
    Link all values.
</div>

<ul>
    <li><label>Top</label><input type="text" class="css-margin" name="" tabindex="1"></li>
    <li><label>Right</label><input type="text" class="css-margin" name="" tabindex="2"></li>
    <li><label>Bottom</label><input type="text" class="css-margin" name="" tabindex="3"></li>
    <li><label>Left</label><input type="text" class="css-margin" name="" tabindex="4"></li>
</ul>
</div>
$('.margin-checkall.checked').parent().next().find('.css-margin').each(...)

这读作:查找具有 class margin-checkall AND checked 的元素;获取父级(div);获取下一个元素(ul);在其中找到每个具有 class css-margin 的元素;最后是你的每个函数

这对你有用..!

$(document).ready(function() {
    $('.margin-checkall').parent().next('ul').find('li').each(function() {
     $(this).find('.css-margin').val('Text for test');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="check-all">
    <span class="dashicons dashicons-lock css-checkall margin-checkall"></span>
    Link all values.
</div>

<ul>
    <li><label>Top</label><input type="text" class="css-margin" name="" tabindex="1"></li>
    <li><label>Right</label><input type="text" class="css-margin" name="" tabindex="2"></li>
    <li><label>Bottom</label><input type="text" class="css-margin" name="" tabindex="3"></li>
    <li><label>Left</label><input type="text" class="css-margin" name="" tabindex="4"></li>
</ul>