jQuery wrapAll()不适用于ul类

jQuery wrapAll()不适用于ul类,jquery,wrapall,Jquery,Wrapall,我有一个带有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

我有一个带有
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>

$(“#块tb megamenu主菜单”).wrapAll(“”);

如果我将
#block tb megamenu主菜单
更改为
ul.tb megamenu导航
(或
仅.tb megamenu导航
),脚本将无法工作。我想知道是否有人知道它为什么不工作。

将脚本添加到dom就绪处理程序中,然后查看

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

演示:,

如果您添加了一个doc-ready handler,则工作正常。如果您的页面中的内容确实是这样的,那么脚本运行时,
#block tb megamenu主菜单
还不在DOM中。将脚本移动到内容之后,或使用jQuery的
.ready()
功能。