2009-09-27 17 views
1

我想在HTML頁面上存儲一些額外的數據,並且客戶端根據需要使用這些數據來顯示使用JS的不同內容。我應該如何存儲這些數據?在無形的divs或其他東西? 有沒有一些標準的方法?在html頁面上存儲附加數據

+0

這將有助於如果你能進入更詳細爲你正在嘗試做的。 – 2009-09-27 10:22:47

回答

1

我想說,如果你使用JS來顯示它,你應該將它存儲在某種JS數據結構中(取決於你想要做什麼)。如果你只是想爲另一個元素交換另一個元素,不可見的[在這裏插入元素類型]也可以很好地工作。

1

我不認爲有一個標準的方法;我會將它們存儲在JavaScript源代碼中。

0

之一:

  1. 隱藏輸入字段(如果你想提交回服務器);或
  2. 頁面上的隱藏元素(由CSS隱藏)。

每個都有應用程序。

如果您使用(1)來確定表單提交的內容,那麼您絕對不應該依賴服務器上的內容(如來自客戶端的任何內容)。 (2)對於諸如「豐富」工具提示,對話框和其他通常不可見的內容是最有用的。通常情況下,內容可以被視爲可見或克隆,可能在過程中被修改。

0

如果我需要把一些信息會由JavaScript中使用的HTML,然後我用

<input id="someuniqueid" type="hidden" value="..." /> 
0

無形的div通常是要走的路。如果您知道需要首先顯示哪些內容,則只需最初加載即可改善用戶體驗,然後使用AJAX調用加載頁面上的其餘元素。

0

您需要在HTML結構中存儲任何要以HTML格式構造的數據。我會說要正確構建您打算顯示的數據或內容,以便在頁面上顯示正確的HTML。確保一切都是完整的,語義的和可訪問的。然後確保CSS正確顯示數據。完成後,添加內聯樣式「display:none;」到您希望動態顯示的頂部容器。內聯樣式可以被文本閱讀器讀取,所以他們不會閱讀它,直到元素的顯示樣式發生變化。

然後用JavaScript來改變容器的風格,當您準備:

var blockit = function() { 
    var container = document.getElementById("containerid"); 
    container.style.display = "block"; 
}; 
0

對於少量的附加數據,你可以用HTML5 "data-*" attribute

<div id="mydiv" data-rowindex="45"> 

然後用jQuery data methods

訪問theese領域
$("#mydiv").data("rowindex") 

或選擇項目att ribute值

$('div[data-rowindex="45"]') 

附加額外的數據元素

$("body").data("bar", { myType: "test", count: 40 });