如果父元素有某个类,我想动态地将菜单链接中的文本换成spans。
我有什么:
<div class="mt-menu-container block">
<ul id="menu" class="sf-menu sf-js-enabled">
<li><a href="#">MenuItem</a></li>
</ul>
</div>
我想要做的是,如果第1行的父元素具有类“块”,我希望文本“MenuItem”包含在跨度中,所以我得到这样的结果:
<div class="mt-menu-container block">
<ul id="menu" class="sf-menu sf-js-enabled">
<li><a href="#"><span>MenuItem</span></a></li>
</ul>
</div>
我尝试的是(请不要笑):
// Menu Block Style
if (jQuery('mt-menu-container.block')) {
$('#menu > li > a').each(
function(){
$(this).wrap('<span></span>');
});
}
哪个不起作用,因为它可能在很多层面上都是错误的,但你会得到它的要点
答案 0 :(得分:3)
JQuery具有hasClass功能。因此,为了验证它,元素只有一个类使用:
$('.mt-menu-container').each(function(){
if($(this).hasClass('block')) {
$(this).find('a').each(function(){
$(this).wrapInner('<span></span>');
});
}
});
答案 1 :(得分:0)
尝试:
if (jQuery('mt-menu-container').hasClass('.block'))
代替if (jQuery('.mt-menu-container.block'))