我正在尝试运行一UL
组:
<ul>
<li>
<h2>Header 1</h2>
<ul class="collapse">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
</li>
<li>
<h2>Header 2</h2>
<ul class="collapse">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>
<h2>Header 3</h2>
<ul class="collapse">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>
<h2>Header 4</h2>
<ul class="collapse open">
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
如果我发现其中一个具有该班级的孩子,open
我想删除该班级collapse
和/或open
从该班级之前的任何父级别 UL 中找到open
. 也许我累了,但我有这个严重缺陷的逻辑,在我的脑海里我试图理解它,同时我觉得它不合逻辑,而且肯定会有更简单的方法来做到这一点。(请注意,$.each()
我目前正在尝试的是有缺陷的并且无论如何都不起作用)。但是如果有人去的话,我可以使用一些想法来解决这个问题。
$('ul').each(function()
{
if($(':not(:first)', this))
{
if($(this).hasClass('collapse'))
{
alert('collapse found');
$kid = $(this).child('ul');
if($kid.hasClass('open'))
{
alert('uh')
$kid.parents('ul').removeClass('collapse');
}
}
}
});