【问题标题】:Find Html element in ajax responseText在ajax responseText中查找Html元素
【发布时间】:2018-04-05 19:52:56
【问题描述】:

使用 AJAX 和 jQuery 3.3.1 我有这样的回应:

var responseText =
  <tr>
    <td>
      Lavender
    </td>
  </tr>
  <tr>
    <td>
      Lime
    </td>
  </tr>
  <div class="navigation mt-3 text-center" id="ajax-navigation">
    Test
  </div>

我要提取#ajax-navigation div。

$(responseText).find('#ajax-navigation').html() = 未定义
$(responseText).filter('#ajax-navigation').html() = 未定义
$($.parseHTML(responseText)).find('#ajax-navigation').html() = 未定义
@987654328 @ = 未定义

你能帮帮我吗? 我已经读过this questionthis one too

【问题讨论】:

  • 问题是因为您的 HTML sn-p 无效。您不能将div 作为tr 的兄弟。我想输出结果完全删除了div。我建议修复生成该 HTML 的任何代码。
  • 哦,谢谢。这是 AJAX 响应。我想在现有表中添加&lt;tr&gt;,并在该表之后添加&lt;div&gt;。不过我明白了,谢谢
  • 是的,@Gaylord.P 是对的。或做出类似 `var responseText = '
    Lavender
    '

标签: javascript jquery


【解决方案1】:

您可以执行以下操作:

var node = document.createElement("div");
node.innerHTML = responseText;
var navigationNode = $("#ajax-navigation", node);
var navigationHTML = navigationNode.html();

这应该可以在不更改您的 responseText 的情况下工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    相关资源
    最近更新 更多