从JQuery AJAX load()响应中删除HTML元素

时间:2014-10-11 21:26:37

标签: javascript jquery html ajax response

是否有可能在放入容器之前从AJAX(加载)响应中删除特定的HTML元素?在这种情况下,我想从响应中删除"#containerTop",包括内容。

响应(HTML):

<html>
  <head></head>
  <body>
    <div id="containerMain">
      <div>...</div>
      <div id="containerTop">Content-to-remove-including-container-div...</div>
    </div>
  </body>
</html>

我试过这个,没有成功。

<div id="middle"></div>
<script>
$( "#middle" ).load( "http://<URL>",
function(response, status, xhr){
$response.remove('#containerTop');
            });
</script>

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

.load()直接为您插入内容。它没有给你机会在插入之前修改它。因此,您有两种选择:

  1. 您可以在插入内容之后修改内容,但在.load()完成处理程序中绘制内容之前。
  2. 您可以切换到.get()以将内容作为数据获取,然后将其放入jQuery对象,然后使用jQuery方法对其进行修改,然后自行将修改后的内容插入到您的页面中。
  3. 以下是第二个选项的示例:

    $.get("http://<URL>", function(data) {
        var temp = $(data);
        temp.find('#containerTop').remove();
        $('#middle').empty().append(temp);
    });
    

答案 1 :(得分:-3)

response.find(element).remove()

这适用于我

相关问题