我想在导航中仅显示每个列表的前10个结果。我有大约5个UL,并希望显示每个的前10个结果。下面的代码只适用于第一个列表。我在这里错过了什么。
$(document).ready(function() {
var elements = $(".dropdown .dropdown-menu li");
var index = 0;
var showFirstTen = function(index) {
if (index >= elements.length) {
index = 0;
}
console.log(index);
elements.hide().slice(index, index + 10).show();
}
showFirstTen(0);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories</a>
<ul class="dropdown-menu">
<li><a href="/">Music Accessories</a></li>
<li><a href="/">Devices & Accessories</a></li>
<li><a href="/">Desk Accessories</a></li>
<li><a href="/">Home Automation</a></li>
<li><a href="/">Camera Accessories</a></li>
<li><a href="/">Mobility Accessories</a></li>
<li><a href="/">Monitors Accessories</a></li>
<li><a href="/">Tablet Accessories</a></li>
<li><a href="/">Phone Accessories</a></li>
<li><a href="/">Scanner Accessories</a></li>
<li><a href="/">Projector Accessorie</a></li>
<li><a href="/">Storage Accessories</a></li>
<li><a href="/">Communications Accessories</a></li>
</ul>
</li>
</ul>
&#13;
答案 0 :(得分:2)
您可以使用css
:
li:nth-child(n+11) {
display: none;
}
这将确保只显示前10个li
元素。
ul li:nth-child(n+11) {
display: none;
}
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
</ul>
以下是一个示例(使用背景更改而不是隐藏),只是为了了解它是如何工作的(每个li
它的位置&gt; 5将获得绿色背景。)
ul li:nth-child(n+6) {
background: green;
}
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 1</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 2</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 3</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 4</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 5</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 6</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 7</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 8</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/accessories.aspx" target="" data-toggle="">Accessories 9</a>
<ul class="dropdown-menu">
<li>
<a href="/" >Music Accessories</a>
</li>
<li>
<a href="/">Devices & Accessories</a>
</li>
<li>
<a href="/" >Desk Accessories</a>
</li>
<li>
<a href="/">Home Automation</a>
</li>
<li>
<a href="/" >Camera Accessories</a>
</li>
<li>
<a href="/">Mobility Accessories</a>
</li>
<li>
<a href="/" >Monitors Accessories</a>
</li>
<li>
<a href="/">Tablet Accessories</a>
</li>
<li>
<a href="/">Phone Accessories</a>
</li>
<li>
<a href="/">Scanner Accessories</a>
</li>
<li>
<a href="/">Projector Accessorie</a>
</li>
<li>
<a href="/">Storage Accessories</a>
</li>
<li>
<a href="/">Communications Accessories</a>
</li>
</ul>
</li>
</ul>
答案 1 :(得分:1)
Dekel的解决方案w.r.t CSS看起来很棒。
但是,当我运行代码片段时,这些项目正确地具有绿色背景,直到&#34;附件5&#34;。 然后,剩下的ul都是绿色的。 没有进一步检查。
相反,我在JQUERY中实现了类似的解决方案。
请在下面找到jsfiddle网址:
https://jsfiddle.net/Manoj85/yu2eLgLh/1
$(document).ready(function(){ var num_elements_to_show = 5;
function showFirstTen(num) {
console.log(num);
$("ul.nav > li.dropdown > ul.dropdown-menu li:nth-child(n+" + (num + 1) + ")").hide();
}
showFirstTen (num_elements_to_show);
});
此处 num_elements_to_show 是一个变量,其中包含的数字会显示许多 li
希望它有所帮助!!