Javascript 如何根据列表中是否有其他项显示按钮?
我在为代码找到解决方案时遇到问题。我要让它工作,但我的问题是,第二个列表是不是最后一项,或者是否有 基本上,它看起来是这样的:Javascript 如何根据列表中是否有其他项显示按钮?,javascript,jquery,Javascript,Jquery,我在为代码找到解决方案时遇到问题。我要让它工作,但我的问题是,第二个列表是不是最后一项,或者是否有 基本上,它看起来是这样的: <button id="multi-single-next" class="button">Single next</button> <button id="multi-next-multi-item" class="button">Multi item</button> <button id="hide" clas
<button id="multi-single-next" class="button">Single next</button>
<button id="multi-next-multi-item" class="button">Multi item</button>
<button id="hide" class="button">Hide</button>
<ul class="multi-items">
<li class="single-data-item"><div class="data-item">1</div></li>
<li class="single-data-item"><div class="data-item">2</div></li>
<li class="single-data-item has-multi-items">
<ul class="pagnation-2">
<li>3a</li>
<li>3b</li>
<li>3c</li>
</ul></li>
<li class="single-data-item"><div class="data-item">4</div></li>
<li class="single-data-item"><div class="data-item">5</div></li>
。多项目li{
显示:内联块;
列表样式:无;
}
.多项目li:非(:第一个孩子){
显示:无;
}
#多下一个多项目{显示:无}
下一个单曲
多项目
- 1
- 2
- 3a
- 3b
- 3c
- 3
- 4
如果下一个li
的长度存在,您可以检查它
解决方案
$('#multi-next-multi-item').click(function() {
const $item = $('ul.pagnation-2 li.active');
const $next = $item.next();
//Check if last item
const $lastItem = $('ul.pagnation-2 li.active').next().length;
$item.removeClass('active');
$item.hide();
if($lastItem == 0){
//Get the parent
const $li_parent = $item.parent().parent();
const $single_next = $li_parent.next();
$li_parent.removeClass('active');
$li_parent.hide();
$single_next.addClass('active');
$single_next.show();
$('#multi-single-next').css('display','block');
$('#multi-next-multi-item').css('display','none');
}else{
$next.addClass('active');
$next.show();
}
});