【问题标题】:jQuery wrapAll() is not working with ul classjQuery wrapAll() 不适用于 ul 类
【发布时间】:2014-01-09 04:11:13
【问题描述】:

我有一个带有wrapAll() 函数的小脚本代码,当我以 div ID 为目标时,该函数与 div id 一起使用,但如果我尝试以 ul 类为目标,则它不起作用:

<script>
        $("#block-tb-megamenu-main-menu").wrapAll("<div class='tb-megamenu tb-megamenu-main-menu style-white'/>");
      </script>

<section id="block-tb-megamenu-main-menu" class="block block-tb-megamenu clearfix">

<ul class="tb-megamenu-nav nav level-0 items-4">
  <li data-id="398" data-level="1" data-type="menu_item" data-class="" data-xicon="" data-caption="" data-alignsub="" data-group="0" data-hidewcol="0" data-hidesub="0" class="tb-megamenu-item level-1 mega dropdown">
  <a href="/solutions" class="dropdown-toggle disabled">

    Solutions         
          </a>
</li>
</ul>
</section>

如果我将#block-tb-megamenu-main-menu 更改为ul.tb-megamenu-nav(或just .tb-megamenu-nav),脚本将不起作用。我想知道是否有人对它为什么不起作用有任何见解。

【问题讨论】:

  • 如果您添加一个文档就绪处理程序,则可以正常工作
  • 如果这确实是您在页面中的顺序,那么当您的脚本运行时,#block-tb-megamenu-main-menu 还没有在 DOM 中。在内容之后移动脚本或使用 jQuery 的 .ready() 功能。

标签: jquery wrapall


【解决方案1】:

在 dom 就绪处理程序中添加脚本并查看

jQuery(function(){
    $("ul.tb-megamenu-nav").wrapAll("<div class='tb-megamenu tb-megamenu-main-menu style-white'/>");
})

演示:Wrap ULWrap Section

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多