我正在尝试为我的网上商店过滤器制作一个按钮。一个过滤器中有多个“类别”。一个类别不会显示超过5个项目,不管有多少个项目。jQuery有多个列表中的一个按钮隐藏/显示项目
我需要的按钮将允许用户显示超过每个类别5个项目的默认值。换句话说,如果给定类别中有7个项目,则只会显示5个项目。其余2将被隐藏。点击按钮后,将显示全部7个项目。
我试图做到这一点,但是当我按下按钮,将显示其他类别的项目以及..
var count = $('.block-layered-nav .block-content dl dd ul li').length;
if (count > 5) {
$('.showmore').show();
$('.block-layered-nav .block-content dl dd ul li:gt(4)').hide();
} else {
$('.showmore').hide();
}
$('.showmore').on('click', function(e) {
$(".block-layered-nav .block-content dl dd ul li:gt(4)").toggle().parent();
alert(myparent('li'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="block block-layered-nav block-layered-nav--no-filters">
<div class="block-content toggle-content">
<dl id="narrow-by-list">
<dt>Wat</dt>
<dd>
<ul>
<li class="list-group-item"><span>Moi1</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi2</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi3</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi3</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi3</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi3</span><a href="#">Hout</a></li>
</ul>
<button onclick="" class="showmore">
Laat meer zien
</button>
</dd>
<dt>Uitstraling</dt>
<dd>
<ul>
<li class="list-group-item"><span>Moi4</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi5</span><a href="#">Hout</a></li>
</ul>
<button onclick="" class="showmore">
Laat meer zien
</button>
</dd>
<dt>Glans</dt>
<dd>
<ul>
<li class="list-group-item"><span>Moi6</span><a href="#">Hout</a></li>
<li class="list-group-item"><span>Moi7</span><a href="#">Hout</a></li>
</ul>
<button onclick="" class="showmore">
Laat meer zien
</button>
</dd>
</dl>
</div>
</div>
使用此背景下,以指代当前点击项目 – guradio
请根据控制台的错误修复您的代码,现在我做了一个snippet for you – mplungjan
修正了错误 – Jonell