簡體   English   中英

使用非標准屬性

[英]Using non-standard attributes

創建html / jquery應用程序時,我無法在不使用全局變量的情況下傳遞值。 快速示例

1)加載帶有“ playersTable”之類的表

2)附加一個唯一的ID,例如“ 25”

3)點擊表格行並產生一行按鈕,這些按鈕將根據父母的班級和ID來執行操作; 例如查詢playerTable WHERE行= 25,等等。

問題是,在開發過程中,我需要將越來越多的值綁定到父元素(或任何已經具有類和ID的元素),並且要避免在類中添加20件事

當我需要將更多數據附加到元素時,我不知道該怎么辦。 我還使用了屬性“值”,但是然后我想知道是否所有瀏覽器都支持它,如果這是不正確的做法,等等。如果我只是開始創建自己的屬性,它甚至還能工作嗎?

<div id = "2" class = "test" myAttr = "foo"></div>

還是我通常會以所有錯誤的方式來解決這個問題?

不知道為什么需要將所有這些數據附加到DOM元素上,很難給出具體的建議。

首先,我會考慮使用data-屬性。

其次,如果要動態附加數據,我會考慮使用jQuery的data()方法。

第三,我會考慮您實際需要什么數據以及何時需要。

第四,也是最重要的一點,ID屬性可能並不是您真正想要設置的。

使用data-id元素並以這種方式獲取ID; 簡單的數字值不是有效的ID。 除非您實際上需要通過ID引用DOM元素,否則何必呢? 通常,您真正需要的只是查找(或向下)附近的層次結構並找到父行等,以提取單個值,例如data("id")

我建議您將data- *屬性與純JavaScript element.getAttribute('data-some_attr_name')或與jQuery element.data('some_attr_name')

瀏覽器支持: http : //caniuse.com/dataset

jQuery數據文檔: http//api.jquery.com/data/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM