Как обернуть span вокруг ul li, но не в Child ul? - PullRequest
0 голосов
/ 19 января 2011

Как я могу влиять только на элементы 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>

1 Ответ

4 голосов
/ 19 января 2011

Вы должны использовать селектор child, а не просто селектор descendant:

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

http://jsfiddle.net/dyev5/

...