我正在尋找一種優雅的方式來添加數據到服務器端的元素,以便jQuery/JavaScript可以使用它。我也不想打太多的電話到服務器,所以數據必須在那裏提前。添加數據元素,使jQuery可以使用它
場景示例。 服務器端(PHP),我創建了一個用戶圖像列表。爲此,我想添加姓名,年齡等。
點擊圖片時,jQuery必須對這些數據做些什麼。
我考慮過的可能性:
將數據作爲href,然後點擊獲取href並返回false。
將數據作爲類使用。
有沒有更好的方法?
我正在尋找一種優雅的方式來添加數據到服務器端的元素,以便jQuery/JavaScript可以使用它。我也不想打太多的電話到服務器,所以數據必須在那裏提前。添加數據元素,使jQuery可以使用它
場景示例。 服務器端(PHP),我創建了一個用戶圖像列表。爲此,我想添加姓名,年齡等。
點擊圖片時,jQuery必須對這些數據做些什麼。
我考慮過的可能性:
將數據作爲href,然後點擊獲取href並返回false。
將數據作爲類使用。
有沒有更好的方法?
爲了這個目的,HTML規範保留了以data-
開頭的屬性。例如:
<p data-name="John Doe" data-age="256">Hello World</p>
只要您遵循data-*
格式,您可以隨心所欲地命名它們。
如果您需要結構化語義數據,請考慮使用RDFa Lite以及適當的模式。
謝謝(以及其他發佈答案的人)。簡單的事情就像你在生活中想念的一樣。 :) –
對於HTML5,你有custom data attributes。
如果您希望獲得舊版規格的有效HTML,最好的選擇可能是將數據嵌入<span>
元素中,樣式爲display:none
,並且位於將它們與圖像相關聯的位置,並且易於通過jQuery訪問例如作爲具有特定類別的子元素)。
+1我在寫這個:) – Sithu
如果你有很多的數據元素,可以通過存儲在JavaScript變量中的數據保持他們的標記,並且只使用一個data-userid
或id
屬性來存儲一個ID號到用戶數據。
例如,如果你有一個用戶的一個PHP數組,你可以json_encode它變成一個JavaScript變量:
var users = <?php echo json_encode($users); ?>;
在您的標記,只存儲ID:
<img src="..." alt="..." data-userid="x" />
然後,您可以查找您的Javascript數組中的數據。這種方法的好處是,如果你需要存儲大量數據,那麼標記就不顯眼了。
您可以簡單地隱藏數據,當頁面第一次提供,然後使用jQuery來切換其可見性?不需要額外的服務器呼叫。你還應該發佈一些代碼,使你的問題更清晰。 – nonshatter