use*_*564 0 html javascript css jquery
我有一段类似于html的html:
<div class="ms-row">
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
</div>
<div class="ms-row">
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
</div>
<div class="ms-row">
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
<div class="ms-image"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个jQuery脚本应该影响每个ms-row div中的每个ms-image div.目前,它仅适用于第一个ms-row div.如果我这样做:
$( document ).ready(function()
$('.ms-row .ms-image').hide();
$('.ms-row .ms-image:lt(6)').show();
});
Run Code Online (Sandbox Code Playgroud)
除前六个外,所有ms-image div都被隐藏.我需要显示每个ms行中的前六个div,而不是第一个ms-row div中的前六个div.
你得到的所有ms-image元素都是ms-row元素的子元素,而结果集显示的是第6个元素.你要做的是获取每行的前六个.
$( document ).ready(function()
$('.ms-row .ms-image').hide();
$('.ms-row').each(function(){
$(this).find('.ms-image:lt(6)').show();
});
});
Run Code Online (Sandbox Code Playgroud)
或者@Val指出,避免.each这样做
$( document ).ready(function()
$('.ms-row .ms-image').hide();
$('.ms-row').find('.ms-image:lt(6)').show();
});
Run Code Online (Sandbox Code Playgroud)