Как зациклить хотя набор результатов JQuery - PullRequest
2 голосов
/ 13 ноября 2009

Я пытаюсь выучить jquery, и мне трудно понять, как справиться с набором результатов jquery. Допустим, у меня есть html вроде:

<div class="divClass">
  <p class="pClass1">1</p>
  <p class="pClass2">Some text.</p>
</div>
<div class="divClass">
  <p class="pClass1">2</p>
  <p class="pClass2">Some text.</p>
</div>
<div class="divClass">
  <p class="pClass1">3</p>
  <p class="pClass2">Some text.</p>
</div>

Я хочу перебрать div с классом "divClass", получить значение, содержащееся в дочернем элементе p с классом "pClass1". Получить набор div с классом "divClass" легко с чем-то вроде:

divs = $(".divClass");

Но я не уверен, как обойти "div" и найти дочерний элемент "pClass1", а затем получить его значение. Любая помощь будет очень ценной.

Ответы [ 3 ]

3 голосов
/ 13 ноября 2009

Вы можете использовать метод each, а затем искать элементы '.pClass' в контексте this, который является текущим div, который повторяется:

var divs = $(".divClass");

divs.each(function () {
  alert($('p.pClass1', this).text());
});

Проверьте приведенный выше пример здесь .

2 голосов
/ 13 ноября 2009

Используйте метод each:

$(".divClass").each(function() {

});
1 голос
/ 13 ноября 2009

Есть много способов.

Для вашего конкретного сценария я бы попробовал что-то вроде этого:

$(".divClass .pClass1").each(function() {
    // Do whatever
});

Если вы хотите что-то сделать с тегами div и p, вы можете попробовать метод find :

$(".divClass").each(function() {
   var p1Tags = $(this).find(".pClass1");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...