Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery删除筛选响应中的特定div_Javascript_Jquery_Html_Ajax_Jquery Filter - Fatal编程技术网

Javascript jquery删除筛选响应中的特定div

Javascript jquery删除筛选响应中的特定div,javascript,jquery,html,ajax,jquery-filter,Javascript,Jquery,Html,Ajax,Jquery Filter,我正在进行一个getajax调用,它将html作为数据返回 我只想返回div#product detail响应中的内容,并用div.product-detail-info中的内容替换该html 这很好,但当我以管理员身份登录CMS时,它会在每一页的末尾吐出调试代码。我知道我可以禁用该功能,但我希望保持该功能,并从响应中删除调试div *div#调试信息存在于div#产品详细信息响应中 // this displays the html correctly, but it includes the

我正在进行一个getajax调用,它将html作为数据返回

我只想返回div#product detail响应中的内容,并用div.product-detail-info中的内容替换该html

这很好,但当我以管理员身份登录CMS时,它会在每一页的末尾吐出调试代码。我知道我可以禁用该功能,但我希望保持该功能,并从响应中删除调试div

*div#调试信息存在于div#产品详细信息响应中

// this displays the html correctly, but it includes the debugging-info that I want removed
var $response=$(data);
$(".product-detail-info").html($response.filter('#product-detail-response').html());

// I tried adding a remove in different spots of this line without success
$(".product-detail-info").html($response.filter('#product-detail-response').html()).remove("#debugging-info");
*我还放了一个显示器:无;对于.product detail info#debuging info{}和以下内容:

$("#debugging-info").hide();
在上面的代码之后

答复:

<div class="product-detail-info">
   html and all the stuff I want to show up
   <div id="debugging-info">
      this shows debugging info, and I want to remove this div completely
   </div>
</div>

dom
中注入响应
html
后,可以隐藏调试信息元素,如下所示:

$response = $( data );
$( ".product-detail-info" ).html( $response.html() ).find( "#debugging-info" ).hide();

这里有一个

你实际上有这样的东西:

从您的呼叫返回的数据

  var data = "<div class='product-detail-info'>html and all the stuff I want to show up<div id='debugging-info'>this shows debugging info, and I want to remove this div completely</div></div>";
var data=“html和我想显示的所有内容这显示调试信息,我想完全删除这个div”;
现在创建一个dom obj来操作数据

  var parsed = $('<div/>').html(data);

  parsed.find("#debugging-info").remove();

  $("#result").append(parsed.html());
var parsed=$('').html(数据);
已解析。查找(“#调试信息”).remove();
$(“#result”).append(parsed.html());

调试信息div存在于#产品详细信息响应中。您确实需要发布一个“数据”示例,以及基于该“数据”您希望页面变成什么样子。我真的不明白你的意思,Sorry用jsfiddle更新了我的答案如果你想简单地从响应中删除div,你可以这样做$response.find(“#调试信息”).remove();而div将从response@RiccardoC,我更新了你的答案,使它更具可读性。当你的答案由代码组成时,最好写一些解释性的文字。如果你把这些行分割开来,在附加了内容之后,你只需在下面的一行调用
$(“#调试信息”)。remove()
?这看起来像是在您尝试删除之前还没有将其添加到DOM中,即使从逻辑上讲应该是这样。@SidneyLebrand我尝试了$(“#调试信息”).remove();除此之外,它没有起作用。。。奇怪的是,当内容被添加到DOM中时,你应该能够像那样删除它们。。。也许做一个
console.log($(“#调试信息”).length)
看看你得到了什么,如果输出是
0
,那么元素根本不存在,你必须深入挖掘,如果长度是
1
元素存在,你应该能够删除它,现在下班回家,但会尽量保持在线meanwhile@SidneyLiebrand它返回了1如果它返回了1,那么我必须自己做一些研究,因为我现在不知道可能是什么导致了它,最后一件事可能是有一个重复的div,具有相同的Id,导致了崩溃
  var data = "<div class='product-detail-info'>html and all the stuff I want to show up<div id='debugging-info'>this shows debugging info, and I want to remove this div completely</div></div>";
  var parsed = $('<div/>').html(data);

  parsed.find("#debugging-info").remove();

  $("#result").append(parsed.html());