繁体   English   中英

用jQuery环绕链接文本

[英]Wrap a span around link text with jQuery

如果父元素具有某个类,我想动态地在菜单链接中使用跨度包装文本。

我有的:

<div class="mt-menu-container block">
    <ul id="menu" class="sf-menu sf-js-enabled">
        <li><a href="#">MenuItem</a></li>
    </ul>
</div>

我想做的是,如果第1行的父元素具有类“ block”,我希望其中的文本“ MenuItem”用span包裹起来,那么我会得到如下信息:

<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>');
       });
}

这没有用,因为在许多级别上可能都错了,但是您将领会到它的要点

jQuery具有hasClass函数。 因此,要验证它是否具有某个类,只需使用:

$('.mt-menu-container').each(function(){
  if($(this).hasClass('block')) {
    $(this).find('a').each(function(){
      $(this).wrapInner('<span></span>');

    });      
  }
});

试试: if (jQuery('mt-menu-container').hasClass('.block'))不是if (jQuery('.mt-menu-container.block'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM