2010-01-22 80 views
2

我對jQuery有點新,但一直在嘗試瞭解它可以做的所有酷技巧的樂趣。目前我正在嘗試使用的一項功能是從我們用於每日報告的網站獲取天氣報告的加載功能。我正在使用的代碼是jQuery的加載HTML - 如何獲得最後一張表返回

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

這與我預期的一樣,並返回所有表。我遇到的問題是沒有一個表有ID標籤,所以我得到頁面中的所有表。我只需要得到一張有天氣信息的桌子。我不知道如何瞄準我需要的。這甚至可能沒有ID?我也嘗試過使用

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

但它仍然顯示所有的表格。

回答

0

使用

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

我認爲所有的表加載的知名度是隱藏的,你只是想顯示最後一個表。

+0

他已經說過他試圖用這種方式來做,但我猜所有的表格都是可見的。 – kjagiello 2010-01-22 09:19:40

+0

注意在答案中加入'#' – Veger 2010-01-22 09:23:41

2

您應該能夠直接在網址後,選擇這樣做。請參閱「加載頁面片段」在這裏:http://api.jquery.com/load/

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

你也應該知道,這是不好的表現,如果你加載一個完整的頁面,並且只使用其中的一小部分。那麼最好把最後一張表分成它自己的頁面,並且在原始頁面中包括(最好是服務器端)。

0

嘗試

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

- ADDED編輯 -

如果您有任何關於非結構化HTML源代碼的麻煩,你也可以嘗試:

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

這將得到一個包含「過濾器的獨特文本」的表格。

更多如何使用:contains()here

+0

@gregers:在jQuery中是否存在'last'?或者你的意思是':最後一個孩子'? – Reigel 2010-01-22 09:39:35

+0

這是錢我的朋友!仍然不是那裏,但這隻給了我最後一張桌子。因爲我抓的源頭非常結構化,似乎有很多嵌套表,所以這讓我到最後一個表,但顯然是另一個嵌套表,這是我需要的。我幾乎一行一行地瀏覽了html,並且可以驗證該表是由itslef嵌套的。返回的表格在其自己的表格的左側有一個導航欄,在其自己的表格中有右側的天氣,這兩個表格嵌套在另一個表格中。可以再撥這個嗎? 謝謝! – Jason 2010-01-22 09:55:11

相關問題