Kor*_* M. 2 javascript ajax jquery
AJAX回应:
<div id="div_1">Some text</div>
<div id="div_2">Some text</div>
<div id="div_3">Some text</div>
Run Code Online (Sandbox Code Playgroud)
现在,在将结果显示给用户之前,我需要删除一些divse。因此,例如删除div_1和div_3:
var result = $(ajax_response).find('#div_1, #div_3').remove();
Run Code Online (Sandbox Code Playgroud)
现在我们可以向用户显示它:
$('#result_div').html(result);
Run Code Online (Sandbox Code Playgroud)
但这没用-什么都不会出现。我究竟做错了什么?
编辑:有效的解决方案,但我不喜欢,我必须在更改之前显示结果:
$('#result_div').html(ajax_response).find('#div_1, #div_3').remove();
Run Code Online (Sandbox Code Playgroud)
find()仅在元素的上下文中起作用。您收到的三个元素都是同级,因此您可以将它们包装在服务器端的容器中:
<div class="container">
<div id="div_1">Some text</div>
<div id="div_2">Some text</div>
<div id="div_3">Some text</div>
</div>
Run Code Online (Sandbox Code Playgroud)
或者,您可以在JS中以编程方式执行此操作:
var $container = $(ajax_response).wrap('<div />').parent();
$container.find('#div_1, #div_3').remove();
$('#result_div').html($container);
Run Code Online (Sandbox Code Playgroud)