<div id="user_navigation" class="logged_in right">
<ul class="ipsList_inline">
<li><a data-clicklaunch="getNotificationsList" id="notify_link" href="http://localhost/joridesign/index.php?app=core&module=usercp&area=notificationlog" title="Notifications" class="ipbmenu menu-active"><i class="fa fa-bell fa-2x"></i></a>
</li>
<li><a data-clicklaunch="getInboxList" id="inbox_link" href="http://localhost/joridesign/index.php?app=members&module=messaging" title="Messenger"><i class="fa fa-envelope fa-2x"></i></a>
</li>
</ul>
</div>
好的,我有这个结构。
如果li
中的ul
menu-active
中的任何一个#user_navigation .ipsList_inline li {}
类background: #fff
中的任何一个{{1}}将有{{1}}的新类,我想要做的是什么;
我知道jquery有一个原因,但我问的是还有其他方法吗?如果没有,你可以通过jquery向我展示吗?
答案 0 :(得分:1)
简单的方法是只针对包含该类的任何LI,获取它和兄弟LI,并添加一个类(或者css(),如示例中所示,真的是什么)
$('li:has(.menu-active)').siblings('li').addBack().css('background', '#fff');
编辑:
仅更改包含类
的那个$('.menu-active').closest('li').addClass('myClass');
答案 1 :(得分:1)
检查元素是否存在menu-active
,然后将class或css添加到其.closest()
li
var elem = $('#user_navigation .ipsList_inline li a.menu-active');
if (elem.length) {
elem.closest('li').addClass('newClass')
}
答案 2 :(得分:0)
尝试
if ( $( '#user_navigation .ipsList_inline li a' ).hasClass( "menu-active" ) ) {
$('#user_navigation .ipsList_inline li a.menu-active').parent().addClass( "newclass");
}