Jquery在ajax响应中使用find和remove

时间:2014-11-29 02:47:08

标签: jquery ajax

我有一个代码使用jQuery和ajax

$.post(
  'http://example.com', {
    abc: $abc
  },
  function(data) {

    $.post(
      'http://example.com/123', {
        cde: cde
      },
      function(data12) {

        $.each($.parseJSON(data12), function(idx, obj) {

          var $response = $(data);
          $xyz = $response.filter('.abc[value="' + obj + '"]');
          $xyz.remove();
          console.log($xyz.html());
        });
      }
    );
  }
);

Expamle:

data =

<div class="abc" value="1"><span>abc</span></div>
<div class="abc" value="2"><span>def</span></div>
<div class="abc" value="3"><span>ghj</span></div>
<div class="abc" value="4"><span>xyz</span></div>

date12 = ["1","2"]

console = <span>abc</span> <span>def</span> <span>ghj</span> <span>xyz</span>

但我想要的是console = <span>ghj</span> <span>xyz</span>

我想要的是使用jquery find并在ajax resposive中删除某些东西然后保存它。

任何人都可以帮我解决。

1 个答案:

答案 0 :(得分:0)

我想你想要这个:JQuery, remove element from string

这是从答案中复制的实际代码:

var s = '<h1>heading</h1><p>para</p>';

var $s = $(s).not('h1');

$('body').append($s);​

......或者这个,也来自那个帖子:

var s = '<div><h1>heading</h1><p>para</p></div>';

var $s = $(s).find('h1').remove().end();

$('body').append($s);​

已编辑:如果字符串中有超过1个顶级元素,则必须将其包含在另一个div中,因为$()函数需要带有单个顶级元素的字符串:

...
var $s = $('<div>' + s + '</div>').find(...).remove()
...