Javascript 隐藏AJAX响应的部分内容

Javascript 隐藏AJAX响应的部分内容,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在进行一个AJAX调用,该调用从我的数据库返回多条记录,每条记录都由如下标记括起来: <div id = "ajaxdiv"> <pre id = "1"> record 1 </pre> <pre id = "2"> record 2 </pre> etc. etc. </div> 我希望能够有选择地隐藏一个或多个返回的记录,以便只保留与原始查询最相关的记录。返回的记录数可能会有所不同。作为DOM

我正在进行一个AJAX调用,该调用从我的数据库返回多条记录,每条记录都由如下标记括起来:

  <div id = "ajaxdiv">
  <pre id = "1"> record 1 </pre>
  <pre id = "2"> record 2 </pre>
  etc. etc.
  </div>
我希望能够有选择地隐藏一个或多个返回的记录,以便只保留与原始查询最相关的记录。返回的记录数可能会有所不同。作为DOM文本插入的Javascript将不会执行,因此我有点不知道如何使用JQuery hide等实现这一点


如果有任何帮助,我们将不胜感激。

从AJAX获得响应后,您可以按现在的方式呈现记录。然后可以创建一个包含要隐藏的id的数组

// add something like this to your code
// after the results has been rendered.
var idsToHide = [ 1, 3, 5];

idsToHide.forEach(function(elementId) {
    // hide the element via jQuery
    $('#' + elementId).hide();
});

请参见

$ajaxResponse.find1.hide?我认为您最好的选择是了解更多有关javascript的信息以及如何使其动态执行。使用ajax调用动态加载javascript(假设这是作为DOM文本插入的javascript所暗示的)被认为是不好的做法。我认为调用嵌入在ajax响应中的脚本是不可能的,因为响应不是DOM的一部分。我遗漏了什么吗?在检索并呈现AJAX响应之后,您可以调用它。另外,注意科迪在问题评论中提到的内容。你关于良好实践的观点得到了很好的采纳。我已经能够使用jQueryUIAccordion小部件实现我想要的东西。唯一的问题是,默认情况下,Accordion只显示一个面板。我想默认为所有面板打开,能够关闭一个或多个面板。有什么想法吗?@user1884367默认情况下打开所有面板时请参考此。