JQuery 循环隐藏项目
JQuery loop hide items
我只想显示 4 个项目并隐藏其他项目。我该怎么做
$(".item").each(function(i, e){
if(i == 4 ){
$(this).addClass("hide");
}
})
您没有说是只想显示 前 四个,还是特定的四个,但您的代码尝试建议前者。
在这种情况下,您根本不需要 JavaScript - 您可以从 CSS.
开始
.item:nth-of-type(4) ~ .item { display: none; }
如果出于某种原因你仍然希望使用 JS,你可以这样做:
$('.item:nth-child(4)').nextAll('.item').hide();
根据语法,
如果你只在第 4 个循环写 i == 4
它会隐藏。
你必须写 i > 3
因为数组从零(0)开始,这将隐藏 4 项后的所有内容
$(".item").each(function(i, e){
if(i > 3){
$(this).addClass("hide");
}
})
或者您可以这样做:
$('.item').slice(3).addClass('hide')
我只想显示 4 个项目并隐藏其他项目。我该怎么做
$(".item").each(function(i, e){
if(i == 4 ){
$(this).addClass("hide");
}
})
您没有说是只想显示 前 四个,还是特定的四个,但您的代码尝试建议前者。
在这种情况下,您根本不需要 JavaScript - 您可以从 CSS.
开始.item:nth-of-type(4) ~ .item { display: none; }
如果出于某种原因你仍然希望使用 JS,你可以这样做:
$('.item:nth-child(4)').nextAll('.item').hide();
根据语法,
如果你只在第 4 个循环写 i == 4
它会隐藏。
你必须写 i > 3
因为数组从零(0)开始,这将隐藏 4 项后的所有内容
$(".item").each(function(i, e){
if(i > 3){
$(this).addClass("hide");
}
})
或者您可以这样做:
$('.item').slice(3).addClass('hide')