在添加到DOM jQuery之前,在返回的JSON POST中选择数据字符串

时间:2011-08-22 01:40:47

标签: jquery ajax json object

在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()的{​​{1}},我会从哪里开始?

2 个答案:

答案 0 :(得分:0)

由于您将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();
  }
});

答案 1 :(得分:0)

你要找的是jquery的filter

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

“描述:将匹配元素集合减少到与选择器匹配的元素或通过函数测试。”

$(data).filter('div.set1').text()