【发布时间】:2021-10-05 21:30:25
【问题描述】:
为什么这个脚本不循环遍历每个 ul.products 元素并计算 li.product 元素,然后将其更改为 css(背景为黄色)。
当我将 时,所有元素的背景颜色都会更改。到目前为止,我知道问题出在此脚本检查每个父元素 ul.products 但能够计算 li.product。
$(document).ready(function() {
$('ul.products').each(function() {
if ($('li.product').length < 4) {
$("li.product").css("background-color", "yellow");
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="products">
<li class="product">Test</li>
<li class="product">Test</li>
<li class="product">Test</li>
<li class="product">Test</li>
<li class="product">Test</li>
</ul>
<ul class="products">
<li class="product">Test</li>
<li class="product">Test</li>
<li class="product">Test</li>
</ul>
【问题讨论】:
-
对不起,不知何故 jsfiddle 没有保存,我把旧链接。现在检查它@RoryMcCrossan
-
感谢您的澄清,我在下面添加了答案。
-
使用 if ($('li.product', this).length
标签: javascript jquery css loops if-statement