Как сделать так, чтобы элемент имел определенный класс только в своих дочерних узлах?

#jquery #loops #each

#jquery #циклы #каждый

Вопрос:

Как можно зациклить элемент, имеющий определенный класс только в его дочерних узлах?

например,

 <ul class="item">
  <li class="url">A1</li>
  <li class="limit">A2</li>
</ul>

<ul class="item">
  <li>3</li>
  <li>4</li>
</ul>

<ul class="item">
  <li class="url">B1</li>
  <li class="limit">B2</li>
</ul>

<ul class="item">
  <li>3</li>
  <li>4</li>
</ul>
  

И я просто хочу выбрать эти два,

 <ul class="item">
  <li class="url">A1</li>
  <li class="limit">A2</li>
</ul>

<ul class="item">
  <li class="url">B1</li>
  <li class="limit">B2</li>
</ul>
  

этот код, над которым я работаю, будет зацикливать каждый .item

 $('.item').each(function(){
        var object = $(this);
        var title = $('.title',object).text();
        var limit = $('.limit',object).text();

        alert(url);
    });
  

Есть идеи?

Ответ №1:

Я думаю, вы можете использовать :has() селектор:

 $('ul.item:has(li.limit)').each( ... )
  

Смотрите http://api.jquery.com/has-selector /