在 AJAX 响应中过滤/使用选择器

Filtering/ using selectors on AJAX response

我一般是 javascript/ 编码的新手,在过滤/处理作为 AJAX 请求接收的数据时被卡住了。我无权访问服务器端代码。当一个日期被发送到服务器时,它会以一页轮班信息作为响应。在响应中是我感兴趣的单个 div。我只想得到这个 div (id="medStaff"),其中包含一个 table。

我有两个这样的请求/ tables,需要合并结果(合并 tables,并且只显示某些列)。

最后,我需要使用的资源只能在我们的 Intranet 上使用 - 所以在开发这个时我必须使用 jquery.get 和本地保存的资源副本来模拟场景,而不是 jquery.post(这是我不将 jquery.load 与容器 ID 一起使用的原因,并且一些 CSS 样式仅显示我想要的 table 的部分 - 这在本地工作正常,但是不适用于实际应用)。

大概我应该在我的 ajax 响应中使用过滤器(因为它是顶级 div 我之后),然后一些 nth-child 选择器来选择我的 table 数据。我只是无法让这些工作。我想在已识别的 division 中提取 table 的第一列和第二列。 table 本身没有 id 标签。下面的代码(对于我特别坚持的一点):

<html>
<head>
<script src="jquery.js"></script>
</head>
<div id="div1" ></div>
<div>
<script>
$.get("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm", function(response) {   
    $(response).filter( '#medStaff' );
    document.getElementById("div1").innerHTML = response;
});
</script>
</div>
</form>
</html>

如果有任何建议,我将不胜感激。谢谢,R

.filter()不修改变量,需要使用结果。

$.get("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm", function(response) {   
    $("#div1").html($(response).filter( '#medStaff' ));
});

您还可以使用 .load() 更简单地完成此操作,它允许您在 URL:

之后放置一个选择器
$("#div1").load("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm #medStaff");