我希望在页面加载时删除li标签的类...
HTML:
<ul class="NewsArchive">
<li class="off">
<a href="#" class="year">T's Blog</a>
<ul class="NewsMonths" style="display: block; ">
<li class="off">
<a href="#" class="month">July 2011</a>
<ul class="BlogsArt" style="display: block; ">
<li class="turnedon">
What's in a surname?
</li>
</ul>
</li>
</ul>
</li>
<li class="off">
<a href="#" class="year">Steve's Blogs</a>
<ul class="NewsMonths">
<li class="off">
<a href="#" class="month">February 2012</a>
<ul class="BlogsArt">
<li>
A bright note
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想要的是对于其父母李类“off”已经“转身”的李被移动。所以顶级课程。如果这有意义吗?
答案 0 :(得分:0)
这应该可以解决问题。
$(function()
{
$('li.turnedon').closest('li.off').removeClass('off');
});
如果包含父类off
,则会删除它。
$(function()
{
$('li.turnedon').parents('li.off').removeClass('off');
});
答案 1 :(得分:0)
只需使用$.parent()
和$.removeClass
- 简单...如果您想删除所有父母(递归),您可以使用类似
var parent = $.parent(); // this needs to be called for the correct li object
do {
parent.removeClass('off')
parent = parent.parent();
} while ( parent )