如何在ul li周围包裹但不在Child ul中?

问题描述 投票:0回答:1

我怎样才能影响ul.menu li a元素,而不影响子元素(ul.submenu li a)?

这是我的代码:

$('ul.menu li a').wrap('<span></span>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="menu">
  <li><a href="#">I want the span</a></li>
  <li><a href="#">I want the span</a>
    <ul class="submenu">
      <li><a href="#">Don't want the span</a></li>
      <li><a href="#">Don't want the span</a></li>
      <li><a href="#">Don't want the span</a></li>
    </ul>
  </li>
  <li><a href="#">I want the span</a></li>
  <li><a href="#">I want the span</a></li>
</ul>
javascript jquery parent-child parent
1个回答
4
投票

您应该使用child选择器而不仅仅是descendant选择器:

$('ul.menu > li > a').wrap('<span></span>');

http://jsfiddle.net/dyev5/

© www.soinside.com 2019 - 2024. All rights reserved.