jQuery加载html - 如何获取最后一个表返回

时间:2010-01-22 09:15:38

标签: jquery html

我对jQuery有点新鲜,但是一直在尝试学习它可以做的所有很酷的技巧。我正在尝试使用的当前事项之一是加载功能,以从我们用于日常报告的站点获取天气报告。我正在使用的代码是

$(document).ready(function() {
$("#table").load("weather_url table");
});

这就像我预期的那样工作并返回所有表。我遇到的问题是没有一个表有ID标签,所以我得到了页面中的所有表。我只需要一张有天气信息的桌子。我不确定如何定位我需要的那个。没有ID,这甚至可能吗?我也尝试过使用

$('table:last-child').show();

但它仍显示所有表格。

4 个答案:

答案 0 :(得分:2)

您应该可以在网址后面的选择器中直接执行此操作。请参阅此处的“加载页面片段”:http://api.jquery.com/load/

$(document).ready(function() {
    $("#table").load("weather_url table:last");
});

如果你加载一个完整的页面并且只使用它的一小部分,你也应该知道它对性能有害。那么最好将最后一个表分隔到它自己的页面,并在原始页面中包含(最好是服务器端)。

答案 1 :(得分:0)

使用

$('#table:last-child').show();

我认为加载的所有表的可见性都是隐藏的,您只想显示最后一个表。

答案 2 :(得分:0)

jquery中有一个函数可以为你提供第n项

http://api.jquery.com/eq-selector/

答案 3 :(得分:0)

$(document).ready(function() {
    $("#table").load("weather_url table:last-child"); // get last
}); 

- 已添加 已修改 -

如果您在使用非结构化html源代码时遇到问题,也可以尝试:

  $("#table").load("weather_url table:contains('unique text for filter')"); 

这将获得一个包含“过滤器的唯一文本”的表。

更多如何使用:contains()here