2011-11-19 151 views
5

在我們的項目中,我們都使用inputtype=hidden元素和divsdisplay:none CSS用於存儲HTML頁面上的一些數據沒有它顯示給用戶。輸入隱藏或div顯示:無css?

所以我不知道哪種方式更適合在性能和代碼的完整性和HTML語法?

+0

你可以進入有關這些數據如何使用更多的細節和它從何而來? –

回答

4

隱藏輸入時將忽略該文件(CSS)的樣式規則隱藏起來,這可能使它更好的性能明智的,但我沒有數據顯示這一點。話雖如此,輸入控件意味着作爲表單的一部分提交。

還有其他的方法爲好,如HTML5自定義數據屬性或使用腳本標籤:

<!-- Custom data attribute --> 
<div id="product" data-id="42"> 
    <h1>Product name</h1> 
</div> 

<!-- JSON data embedded in a script tag --> 
<script type="application/json"> 
    { "id": 42 } 
</script> 
1

我認爲,第一溶液(具有輸入類型=隱藏)是更漂亮,因爲第二溶液依賴於CSS,可在瀏覽器被停用,而數據將顯示給用戶。

1

語義決定了答案是 - 它取決於你如何使用它。

如果需要提交的表單中的數據或者是密切相關的一種形式,然後使用輸入。我不確定哪些情況不會屬於該類別,因爲如果用戶不應該看到它,那麼僅在一個頁面上使用的數據可以存儲在JavaScript變量中。

+0

例如,你顯示了一個人的列表,並希望從用戶隱藏他們的ID,但它是在點擊事件中需要的。 – LostMohican

+0

您是否考慮過使用屬性?例如id =「person123」或rel =「123」? –

+0

看起來應該更新這個以提及html5數據屬性。這是一個非常簡單的方法來存儲和拉動信息使用javascript或jquery輕而易舉。我找不到一個簡明的例子來鏈接,但如果你谷歌一些文章,你可以快速拼湊它如何工作。 –

2

有參與績效的因素很多。但是,除非您存儲大量數據,否則性能差異可能難以區分。

什麼是最好的代碼的完整性和語義取決於數據以及如何使用它。

有用於存儲數據的許多選項:在隱藏輸入了用於與使用形式是大