jQuery 环绕第一深度 li's

发布于 2024-10-04 02:00:42 字数 2808 浏览 1 评论 0原文

我正在尝试让一些 jQuery 代码适用于菜单.. 我需要将

    包裹在我的第一深度

“我的 HTML 语法”周围,看起来像这样。

<ul>
  <li id="" class="menu-item">
     <a class="" href="#">test1</a>

    <div class="sub">
         <ul class="sub-menu">
              <li id="" class="menu-item">
                  <a class="" href="#">test2</a>
                  <ul class="sub-menu">
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                  </ul>
              </li>   
              <li id="" class="menu-item">
                  <a class="" href="#">test3</a>
                  <ul class="sub-menu">
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                  </ul>
               </li>    
          </ul>
     </div>
  </li>
</ul>

插入后应该是这样的

    标签

 <ul>
      <li id="" class="menu-item">
         <a class="" href="#">test1</a>

        <div class="sub">
             <ul class="sub-menu">
                  <ul class="drop_menu">
                  <li id="" class="menu-item">
                      <a class="" href="#">test2</a>
                      <ul class="sub-menu">
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                      </ul>
                  </li> 
                  </ul>  
                  <ul class="drop_menu">
                  <li id="" class="menu-item">
                      <a class="" href="#">test3</a>
                      <ul class="sub-menu">
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                      </ul>
                   </li>
                   </ul>    
              </ul>
         </div>
      </li>
    </ul>

    应该只包裹在第一级 li 的周围...没有找到任何解决方案到目前为止..希望有人有想法..

干杯!

Im trying to get some jQuery code working for a menu..
I need to wrap a <ul> around my first-depth <li>'s

My HTML Syntax look like that..

<ul>
  <li id="" class="menu-item">
     <a class="" href="#">test1</a>

    <div class="sub">
         <ul class="sub-menu">
              <li id="" class="menu-item">
                  <a class="" href="#">test2</a>
                  <ul class="sub-menu">
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                  </ul>
              </li>   
              <li id="" class="menu-item">
                  <a class="" href="#">test3</a>
                  <ul class="sub-menu">
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                      <li id="" class="menu-item"><a class="" href="">test</a></li>
                  </ul>
               </li>    
          </ul>
     </div>
  </li>
</ul>

This is how it should look after inserting the <ul> tags

 <ul>
      <li id="" class="menu-item">
         <a class="" href="#">test1</a>

        <div class="sub">
             <ul class="sub-menu">
                  <ul class="drop_menu">
                  <li id="" class="menu-item">
                      <a class="" href="#">test2</a>
                      <ul class="sub-menu">
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                      </ul>
                  </li> 
                  </ul>  
                  <ul class="drop_menu">
                  <li id="" class="menu-item">
                      <a class="" href="#">test3</a>
                      <ul class="sub-menu">
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                          <li id="" class="menu-item"><a class="" href="">test</a></li>
                      </ul>
                   </li>
                   </ul>    
              </ul>
         </div>
      </li>
    </ul>

The <ul class="drop_menu"> should only be wrapped around the first-level li's... Didn't find any solution for that until now.. Hope anyone has an idea..

Cheers!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

信愁 2024-10-11 02:00:42

您想要直接选择

    内的所有 li
$('ul > li.menu-item > div.sub > ul.sub-menu > li.menu-item')

a > b 子选择器 将选择作为 a 直接子级的所有 b 元素。


编辑:您还在寻找 .unwrap() 方法

You want to select all lis directly inside the <div>'s <ul>:

$('ul > li.menu-item > div.sub > ul.sub-menu > li.menu-item')

The a > b child selector will select all b elements that are a direct child of an a.


EDIT: You're also looking for the .unwrap() method.

伤痕我心 2024-10-11 02:00:42

如果环绕第一级 li,则:

$('ul.drop_menu > li').each(function(){
//使用这个在每个li中做一些事情
});

if wrapping around 1st level li's then:

$('ul.drop_menu > li').each(function(){
//do something in each li using this
});

枫以 2024-10-11 02:00:42

下面的 jQuery 应该可以解决问题......

$('div.sub > ul.sub-menu > li.menu-item').wrap('<ul class="drop_menu"></ul>');

The following jQuery should do the trick...

$('div.sub > ul.sub-menu > li.menu-item').wrap('<ul class="drop_menu"></ul>');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文