Javascript 使用each()迭代多个ul';并隐藏任何儿童李';它大于8
需要一些帮助,了解如何使用ul.children类遍历所有ul元素,并隐藏ul.children下大于8的任何子元素 下面是我的代码示例:Javascript 使用each()迭代多个ul';并隐藏任何儿童李';它大于8,javascript,jquery,html,css,Javascript,Jquery,Html,Css,需要一些帮助,了解如何使用ul.children类遍历所有ul元素,并隐藏ul.children下大于8的任何子元素 下面是我的代码示例: $(function() { $('ul.children').each(function() { var $ul = $(this); if($ul.children().length > 8) { $ul.hide(); } }); }); 我的html代码示例: <ul class="childr
$(function() {
$('ul.children').each(function() {
var $ul = $(this);
if($ul.children().length > 8) {
$ul.hide();
}
});
});
我的html代码示例:
<ul class="children>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>hide all other li elements below this point</li>
</ul>
<ul class="children>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>hide all other li elements below this point</li>
</ul>
- 一,
- 二,
- 三,
- 四,
- 五,
- 六,
- 七,
- 八,
- 隐藏此点下方的所有其他li元素
您可以使用筛选索引大于8的元素
$(function () {
$('ul.children').each(function () {
$('li:gt(8)', this).hide();
});
});
使用index()和toggle():
演示:
或意见中建议的其他解决方案:
$(".children > li:nth-child(n+9)").hide();
您可以简单地使用
filter()
方法:
或者通过这种方式
$('.children>li:n子项(1n+9)')。隐藏()代码>@VitaliyPetrychuk是。在n
之前甚至不需要1
。谢谢这正是我需要的。昨晚我使用了gt(),但显然用错了-我猜从那里附加一个seeallcategories链接会很简单。现在就去做,是我做的吗?如果我这么做了,我道歉。你没有这么做@TomChampion。谢谢您的关心。@toggle-您的确是对的,toggle()已被弃用,但toggle()有两个版本,而这不是弃用的版本。
$("ul.children").find("li:gt(7)").hide();
$(".children > li:nth-child(n+9)").hide();
$('ul.children li').filter(function(i){return i>7}).hide();