2012-02-16 73 views
0

我已經有導出HTML表到excel的代碼,但我怎麼能隱藏表,並仍然使用JavaScript訪問它?我如何製作一個隱藏的html表格導出?

<div id="dataExportDiv" style="display:none"> 
    <table> 
     ...table data here... 
    </table> 
</div> 

但是由此產生的excel文檔沒有任何數據。我試圖導出沒有隱藏表,它的工作原理,所以我知道導出JavaScript是有效的。

+1

也許是缺少的「關於您的ID犯太多心思之前就排除了可能性 – Akaishen 2012-02-16 18:53:08

+0

哎呦忘記關閉它在例如 – PAULDAWG 2012-02-16 18:57:26

+1

嗯......如果出口時沒有'顯示:。塊;'但不與'display:none;'然後我會建議一個簡單的CSS技巧來移動表格的方式離屏幕邊遠,就像你通常用下拉菜單一樣,即'#dataExportDiv {position :絕對的;左:-999em;'這將視覺隱藏的DIV和它的內容,但實際上沒有從什麼可能是在JavaScript中的「功能」隱藏 – jmbertucci 2012-02-16 19:39:06

回答

1

您可以顯示錶戲外(出視口):

#parent { 
    position: relative; 
} 
table { 
    position: absolute; 
    left: -9999px; 
} 

小心,它仍然會顯示如果CSS被desactivated(明顯),並且將屏幕閱讀器讀取。
如果你顯示一個圖表,該表將是一個很好的替代文本他們(適當thscope="col|row"),否則他們會覺得這是一個PITA如果是3公里長。
在後一種情況下,你可以隱藏最近的屏幕閱讀器的表table元素的屬性aria-hidden="true"對於較老的屏幕閱讀器只提供表之前跳過鏈接。

+0

雖然我添加了「top:-5000px」,但它不會在頁面底部添加垂直空間。 – PAULDAWG 2012-02-16 20:40:03

2

你似乎缺少<div>的ID屬性值後"

+0

我的例子中犯了一個錯誤,現在編輯它,雖然。在我的實際代碼中,它已關閉。 – PAULDAWG 2012-02-16 18:58:03