我有以下清单:<ul> <li class="title">A</li> <li class="item" style="display: none">a1</li> <li class="item" style="display: none">a2</li> <li class="title">B</li> <li class="item" style="display: none">b1</li> <li class="item">b2</li></ul>我想创建一个JavaScript函数,该函数检查A之后的两个列表项是否都设置为显示:无。如果它们都设置为显示:无,则将其标题“ A”也设置为显示:无。我希望脚本也对B进行检查,但不要隐藏“ B”,因为并非所有其后的兄弟姐妹都设置为显示:无。我正在考虑如何继续几个小时,但不知道。您能给我一些想法吗,我不一定要编写代码,而只是想法。谢谢!
2 回答

饮歌长啸
TA贡献1951条经验 获得超3个赞
如果您使用jQuery没问题,我发现下面的代码会更简单。
您可以在此处了解有关nextAll()的更多信息。
const titles = $('.title');
titles.each(function() {
const siblings = $(this).nextAll().slice(0, 2);
const siblingsWithDisplayNone = siblings.filter(function() {
return $(this).css('display') == 'none'
});
if (siblings.length === siblingsWithDisplayNone.length) {
$(this).css('display', 'none')
}
});
看到它在这里行动
添加回答
举报
0/150
提交
取消