Выберите строку данных в возвращенном JSON POST перед добавлением в DOM jQuery - PullRequest
0 голосов
/ 22 августа 2011

Нашел много вопросов по json, ничего конкретного не задавая (если я где-то пропустил):

После запроса JSON у меня есть строка, которая возвращается с некоторым HTML-кодом:

Возвращенные данные:

'<div class="set1">Set1</div><div class="set2">Set2</div><div class="set1">Set1</div><div class="set2">Set2</div>'

В случае успеха я устанавливаю свои данные (строку) в объект jQuery, например: $ (data).

Как на самом деле поступатьвытаскивая: Set1 из этого объекта?Это вообще возможно?

Быстрый пример:

$.ajax({
  type: "POST",
  url: "posting to get some json data back",
  data: data,
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function (data) {
      var newData = $(data);
  }
});

Куда бы я пошел отсюда, если бы я хотел посмотреть на .text() из div.set1?

Ответы [ 2 ]

0 голосов
/ 22 августа 2011

То, что вы ищете, это jquery filter.

http://api.jquery.com/filter/

"Описание: Сократите набор соответствующих элементов до тех, которые соответствуют селектору или проходят тест функции."

$(data).filter('div.set1').text()
0 голосов
/ 22 августа 2011

С тех пор как вы передали свой HTML в конструктор jQuery, теперь это обычная коллекция jQuery (даже если вы еще не добавили ее в DOM).

Следовательно, у вас есть доступ ко всем обычным функциям jQuery:

$.ajax({
  type: "POST",
  url: "posting to get some json data back",
  data: data,
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function (data) {
      var newData = $(data).filter('div.set1').text();
  }
});
...