Выберите несколько div в одном селекторе в jQuery - PullRequest
1 голос
/ 26 сентября 2019

На моей странице: XXXXXXXXXXXX

У меня есть 5 div с классом: listing, и у каждого div.listing есть один div с классом: clinic_values, и у каждого div.clinic_values есть один pelement.

Пример:

<div class="listing">
 <div class="clinic_values">
  <p>Some text</p>
 </div>
</div>

<div class="listing">
 <div class="clinic_values">
  <p>Some text</p>
 </div>
</div>

Когда я использую селектор jQuery("div.clinic_values") в строке 89 в скрипте: XXXXXXXXXXXXXXX

Работает нормально, но когда я использую селектор: jQuery("div.listing div.clinic_values p") в строке 89:

jQuery("div.listing div.clinic_values p").each(function (index) {

код не выполняется.Мне нужно выбрать все элементы p, которые находятся внутри div.clinic_values, и элементы div.clinic_values, которые находятся внутри div.listing.

, поскольку на странице с классом clinic_values есть другие div, которые невнутри div.listing.Те не должны быть выбраны.Должны быть выбраны только те div.clinic_values, которые находятся внутри div.listing.

Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 26 сентября 2019

Тебе нужно для каждого по div.listing и попасть внутрь div.это div это значения_клиники.и для каждого снова по clinic_values ​​и получим тег p.

$(document).find("div.listing").each(function (){
   $(this).find("div.clinic_values").each(function (){
      $(this).find("p").text();
   })
})
0 голосов
/ 26 сентября 2019

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>


<div class=listing>
  <div class=clinic_values>
    <p>Address</p>
  </div>
</div>

<div class=listing>
  <div class=clinic_values>
    <p>Address</p>
  </div>
</div>

<div class=not-listing>
  <div class=clinic_values>
    <p>Address</p>
  </div>
</div>

<div class=not-listing>
  <div class=clinic_values>
    <p>Address</p>
  </div>
</div>

<script>
let listings = ['a', 'b', 'c'];



jQuery("div.listing div.clinic_values p").each(function(index) {

  jQuery(this).html(function() {
    return jQuery(this).html().replace("Address", listings[index]);
  });
});

</script>
0 голосов
/ 26 сентября 2019

jQuery("div.listing").children("div.clinic_values").children("p").each(function() { ... }) должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...