【问题标题】:Populate multiple div tags with one AJAX html result用一个 AJAX html 结果填充多个 div 标签
【发布时间】:2017-10-16 22:16:57
【问题描述】:

我正在尝试找到一种方法来使用从单个 AJAX 响应中获得的 HTML 结果填充多个 div 标签的内容。

例子:

  • 目标页面在容器 div_page 中有 ID 为 div_1、div_2、div_3 的 div 标签。
  • AJAX html 响应包含带有 resp_1、resp_2、resp_3 的 div 标签。
  • 我现在想把resp_1的数据放到div_2,resp_2放到div_1,resp_3放到div_3。

jQuery 是否有助于解决这个问题,我该如何处理?我正在考虑将整个响应添加到 div_page 并复制数据,然后删除已处理的元素。

【问题讨论】:

    标签: javascript jquery html ajax


    【解决方案1】:

    假设您的回复看起来像

    <div id='div1'>foo</div><div id='div2'>bar</div><div id='div3'>Foobar</div>
    

    您可以使用 .filter() 解析响应并使用 .html() 访问内部 html

    //假设var response是ajax请求中的html

    let div1 = $(response).filter("#div1").html();
    let div2 = $(response).filter("#div2").html():
    let div3 = $(response).filter("#div3").html();
    

    我在这里为你做了一个例子 https://codepen.io/anon/pen/QqJLee

    【讨论】:

    • 完全理解,但是,这意味着将服务器响应从 HTML 更改为 JSON - 我不想这样做...有没有办法提取 HTML 的部分内容,尽管它尚未添加到 DOM 了吗?
    • @RalfJahr 我已经更新了答案,应该可以解决您的问题。请看一下。
    【解决方案2】:

    是的,您可以使用 jQuery 轻松做到这一点。假设 resp_1 是 html,那么您可以执行以下操作。

    $("#div_1").html(resp_1);
    

    更多关于here的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2011-07-23
      • 2014-12-10
      • 2021-01-23
      • 2013-03-03
      • 2016-08-09
      • 1970-01-01
      相关资源
      最近更新 更多