首頁 > web前端 > js教程 > jQuery $.attr() 與 $.data():何時使用哪一個?

jQuery $.attr() 與 $.data():何時使用哪一個?

Barbara Streisand
發布: 2024-12-20 11:40:10
原創
978 人瀏覽過

jQuery $.attr() vs. $.data(): When to Use Which?

jQuery Data 與 Attr

使用資料屬性時,可以使用兩種主要的 jQuery 方法:$.data 和 $.data。屬性。了解它們的差異對於有效的資料儲存和檢索至關重要。

HTML5 資料屬性的 $.attr

如果您正在處理 HTML5 資料屬性,例如作為<a>,適當的方法是$.attr。這使您能夠直接從元素的 HTML 讀取和寫入資料屬性。例如:

$('#foo').attr('data-foo'); // Outputs: "bar"
$('#foo').attr('data-foo', 'baz'); // Updates the attribute to "baz"
登入後複製

$.data 用於任意數據存儲

相反,$.data 允許您在元素上存儲任意數據,與特定的數據無關屬性。該資料不能透過 HTML 訪問,而是透過 jQuery 快取訪問。它通常用於小部件實例化和儲存複雜物件。例如:

$('#foo').data('myData', {key: 'value'});
$('#foo').data('myData').key; // Outputs: "value"
登入後複製

$.data 中的連字符和駝峰命名法

使用$.data 時,帶連字符的資料屬性名稱會自動轉換為駝峰命名法,而原始的連字號的格式在HTML 中仍然可用。但是,不建議在 JavaScript 中使用連字號透過 $.data() 進行存取。

$.data 中的自動轉換

$.data 的另一個有用功能() 是它自動轉換值的能力。如果該值與識別的模式匹配,它將轉換為適當的資料類型。這個簡化的模式:

<a>
登入後複製

可以透過以下方式存取:

$('#foo').data('num'); // Outputs: 15
$('#foo').data('bool'); // Outputs: true
$('#foo').data('json'); // Outputs: {fizz: ['buzz']}
登入後複製

何時使用$.attr 與$.data

一般,使用$.attr 存取需要與HTML 直接互動的HTML5 資料屬性。使用 $.data 儲存無法透過 HTML 存取的任意數據,尤其是在處理複雜物件時。

以上是jQuery $.attr() 與 $.data():何時使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板