我试图撞倒的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
一个孩子我想删除任何父级UL的是前级collapse
和/或open
找到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');
}
}
}
});
这实际上是一种工作(不幸的是我坚持jQuery 1.4,并且最早采用'parentsUntil()')。所以'addBack()'不适用于我,但第一个版本不错。唯一的问题是所有的父母之前有类删除发现,但引发它说话的孩子仍然坚持需要删除的类 – chris
实际上添加一个'removeClass()'然后其余的人解决了这个问题,爱链接.. – chris