首頁 > web前端 > js教程 > 主體

jquery在元素中儲存資料:data()

无忌哥哥
發布: 2018-06-29 13:39:50
原創
1966 人瀏覽過

在元素中儲存資料:data()

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3.在元素中存储数据:data()</title>
</head>
<body>
<img src="../images/peter.jpg" width="200" alt="php中文网" title="朱老师" id="pic" data-job="php中文网朱老师">
</body>
</html>
登入後複製

data():讀取元素中屬性名稱以data-開始的自訂資料,可以省略data-前綴

var res = $(&#39;#pic&#39;).data(&#39;job&#39;)
登入後複製

如果用之前的attr()方法必須寫出完整的屬性名稱

var res = $(&#39;#pic&#39;).attr(&#39;data-job&#39;)
登入後複製

data()也是一個自帶讀取器和設定器的方法

$(&#39;#pic&#39;).data(&#39;data-course&#39;, &#39;php项目开发课程&#39;)
登入後複製

如果是動態設定的自定義屬性,省略前綴是取得不到的

var res = $(&#39;#pic&#39;).data(&#39;course&#39;)
登入後複製

需要加上前綴

var res = $(&#39;#pic&#39;).data(&#39;data-course&#39;)
登入後複製

data()能取得元素上的原生屬性嗎?無法讀取

var res = $(&#39;#pic&#39;).data(&#39;title&#39;)
登入後複製
登入後複製

但是支援動態設定title屬性,僅限於腳本中使用,原始值並未發生變化

var res = $(&#39;#pic&#39;).data(&#39;title&#39;,&#39;hellow&#39;)
登入後複製

現在就可以在腳本中讀取了title的值了,儘管這個值與原生的alt值並不相同

var res = $(&#39;#pic&#39;).data(&#39;title&#39;)
登入後複製
登入後複製

同樣,data()也有一個對應的removeData()用來刪除自訂或由它建立的屬性

var res = $('#pic').removeData('title')  //仅删除临时创建的,原值不受影响
var res = $('#pic').removeData('data-course')  //仅删除临时创建的
var res = $(&#39;#pic&#39;).data(&#39;data-course&#39;)  //仅删除临时创建的
登入後複製

原始標籤自帶的自訂屬性中刪除不了的

var res = $('#pic').removeData('data-job') 
var res = $(&#39;#pic&#39;).data(&#39;job&#39;)
登入後複製

在控制台查看結果

console.log(res)
登入後複製

以上是jquery在元素中儲存資料:data()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!