這裏是我的問題:有一個內部問題跟蹤系統,它有一個漂亮的總結頁面(開發人員打開的問題數量等)。但是,緊湊的彙總表由樣板文件(導航菜單,搜索框等)我想將彙總表嵌入到我們團隊的頁面中,但不包括周圍的文件。使用<iframe>標記將是一個微不足道的解決方案,如果它不是我感興趣的表格附近的垃圾。幸運的是,所討論的HTML表格已被很好地描述:它被定義爲一個常規<表>標記它甚至有一個唯一的ID分配給它。我想知道是否有一個涉及DOM操作的簡單JavaScript技巧,我可以使用它來手術提取我在iframe中感興趣的表。這樣,只要有人檢查我們團隊的主頁,報告就會始終處於最新狀態。使用JavaScript從HTML中刮掉單個表格
回答
如果你使用jQuery,你可以很容易地拉表代碼。現在,如果表格包含很少的腳本塊,事情可能會變得很奇怪;同樣,如果它依賴於某些樣式表,請確保您的目標頁面也有這些樣式表。
表是由某種塊級元素(a或某物)包圍的嗎?如果是這樣,那麼你可以加載頁面(AJAX或隱藏的iframe),通過「id」查找表,遍歷父級,然後將其html()值移至目標塊。如果沒有塊級別的父級適合於此,那麼您可以嘗試在目標位置重新構建一個空表標記,然後從源表中拉出html()並將其放在那裏;然而,事情開始變得有點奇怪,有時是因爲一些瀏覽器以有趣的方式處理表格佈局。但可以工作。
對你來說簡單一點就可以展開?
function scrapeTable(tableId)
{
var tables = document.getElementsByTagName("table");
for (var i = 0; i < tables.length; i++)
{
if (tables[i].id == tableId)
{
alert("<table>" + tables[i].innerHTML + "</table>");
}
}
}
道歉格式... – 2009-10-16 14:39:52
這一工程,但該表的「innerHTML的()」獲不包括表格標籤本身。這可能不是一個巨大的交易,只要瀏覽器可以將表空間放入新建的(空)表中即可。 – Pointy 2009-10-16 14:42:20
團隊和問題跟蹤器是否位於同一個域/地址?
如果不是,那麼您可能需要修改問題跟蹤器才能獲得所需的結果。出於安全原因,大多數瀏覽器都不允許您修改/訪問不同的域。
如果他們是在同一個域,那麼你很可能使用jQuery的負載與選擇:
$("#destination").load("/path/to/table/ #tableid");
這是一個非常好的主意 - 我忘了load()的選擇器技巧。 – Pointy 2009-10-16 15:25:52
- 1. 使用BeautifulSoup從HTML中刮掉數字
- 2. 從財務報表中刮掉HTML
- 3. 刮掉HTML表格。 UWP和C#
- 4. 用Scrapy刮掉表格中的數據
- 5. 刮HTML表格使用VBA
- 6. HTML表格刮使用VBA
- 7. 用PHP刮掉HTML列表結構
- 8. 在Python中刮掉HTML表lxml
- 9. 在javascript/php中使用YQL來刮掉文章html?
- 10. 使用Selinium和Python在Excel工作表中刮掉HTML表格數據
- 11. 用xml2刮掉前兩列表格
- 12. 用BeautifulSoup刮掉一系列表格
- 13. 用BeautifulSoup刮掉HTML表格不會返回所有標籤
- 14. 刮掉HTML表格並在PHP中創建XML
- 15. 使用python刮掉表格中的數據2.7
- 16. 刮掉html數據Vba
- 17. 從html表格中刮取數據
- 18. 用Scrapy刮掉表格但沒有刮傷項目的數據
- 19. PHP刮掉一個html頁面
- 20. 刮掉表格底部的行
- 21. 從使用VBA的站點刮掉innerHTML
- 22. 刮掉HTML表格數據並創建XML文檔
- 23. 使用Scrapy刮掉iTunes圖表
- 24. 使用BeautifulSoup4刮取HTML表格數據
- 25. 使用Javascript刮臉HTML
- 26. 用PHP刮掉凌亂的html網站
- 27. 如何從HTML表單中使用JavaScript
- 28. 使用importXML在Google表格上刮掉Twitter追隨者數據
- 29. R:使用rvest刮掉表格中每個單元格的懸停文本標題
- 30. 使用javascript刮取價格
這就是我所做的,還有一個額外的技巧,即將附件上傳到問題跟蹤器,以便我的JavaScript將從摘要報告的相同域中提供。 – 2009-10-18 16:09:39