好的伙计,
我在使用Jquery为我必须使用的CMS制作手风琴菜单时遇到一些问题。此旧CMS在span标记中分配“active”项类,而不是a或li。我需要能够通过激活span标签的代码设置活动标签,而不是像我已经的那样设置li锚标签。以下是例子:
<script type="text/javascript">
$(document).ready(function () {
$('#amenu > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#amenu li ul').slideUp();
$(this).next().slideToggle();
$('#amenu li a').removeClass('active');
$(this).addClass('active');
}
});
});
</script>
CMS的示例输出如下:
<ul id="amenu">
<li><a href="#">Home</a></li><li><span class="currentbranch0">
<a href="">Content</a></span>
<ul class="multilevel-linkul-0" title="">
<li><a href="">Content 2</a></li>
<li><span class="currentbranch1"><a href="">Content 3</a></span></li>
</ul>
</li>
</ul>
如果有人知道,我将如何解决这个问题呢?我有不同的组合,但一直打破锚链接。 此外,如果我在页面上手动设置锚定活动类,手风琴将不会扩展孩子,因为我将使用CMS虽然这可能不是那么大的交易。
任何帮助将不胜感激
此致
尼克
答案 0 :(得分:0)
您只需在代码中引用类.closest('span')
的地方添加active
:
$(document).ready(function () {
$('#amenu > li > a').click(function(){
if ($(this).closest('span').attr('class') != 'active'){
$('#amenu li ul').slideUp();
$(this).next().slideToggle();
$('#amenu li a').closest('span').removeClass('active');
$(this).closest('span').addClass('active');
}
});
});