data-*自定義屬性

HTML5增加了一項(xiàng)新功能是自定義數(shù)據(jù)屬性驴娃,也就是data-*自定義屬性耸成。在HTML5中我們可以使用以data-為前綴來(lái)設(shè)置我們需要的自定義屬性,來(lái)進(jìn)行一些數(shù)據(jù)的存放。當(dāng)然高級(jí)瀏覽器下可通過(guò)腳本進(jìn)行定義和數(shù)據(jù)存取。在項(xiàng)目實(shí)踐中非常有用屁倔。目前采取這樣的做法的框架也有很多,最常見(jiàn)的當(dāng)屬jQueryMobile。

具體使用方法例下:

<div ?id = "head" data-hone = "https://www.baidu.com/"></div>

??在傳統(tǒng)的做法中?我們可以配合jquery使用量承,如下:

$("#head").attr("data-home"); ?

$("#head").attr("data-home","new");??

或者純 js?做法:

IE瀏覽器?里,我們通過(guò)獲取對(duì)象后直接調(diào)用就可以了

document.getElementById("head").["data-home"]; ?

document.getElementById("head").["data-home"]?=?"new";??

火狐和谷歌瀏覽器?里穴店,我們可以通過(guò)getAttribute方法來(lái)實(shí)現(xiàn)調(diào)用:

document.getElementById("head").getAttribute("data-home"); ?

document.getElementById("head").setAttribute("data-home","new");??

再HTML5中的簡(jiǎn)潔操作方法:(dataset屬性存取data-*自定義屬性的值)

這種方式通過(guò)訪問(wèn)一個(gè)元素的 dataset 屬性來(lái)存取 data-* 自定義屬性的值撕捍。這個(gè) dataset 屬性是HTML5 JavaScript API的一部分,用來(lái)返回一個(gè)所有選擇元素 data- 屬性的DOMStringMap對(duì)象泣洞。

使用這種方法時(shí)忧风,不是使用完整的屬性名,如data-home來(lái)存取數(shù)據(jù)斜棚,應(yīng)該去掉data-前綴阀蒂。

還有一點(diǎn)特別注意的是:data-屬性名如果包含了連字符,例如:data-date-of-birth 弟蚀,連字符將被去掉蚤霞,并轉(zhuǎn)換為駝峰式?的命名,前面的屬性名轉(zhuǎn)換后應(yīng)該是:dateOfBirth义钉。

<div id="head"?data-hone = "https://www.baidu.com/" ></div>

<script>

????var el?=?document.querySelector('#head'); ?

????console.log(el.id);???

????console.log(el.dataset);//一個(gè)DOMStringMap??

????console.log(el.dataset.home);???

?? ?//判斷屬性 ?

????console.log('testAttr'?in?el.dataset);//false??

????el.dataset.testAttr?=?'testAttr';??

????console.log('testAttr'?in?el.dataset);//true??

</script>

如果你想刪掉一個(gè) data-屬性 昧绣,可以這么做: delete el.dataset.home ; ?或者 el.dataset.home = null;。

這樣操作起來(lái)是不是非常的方便捶闸。但有些瀏覽器可能還不支持夜畴。所以在此期間最好用的getAttribute?setAttribute?來(lái)操作或配合jquery進(jìn)行使用。

data-屬性選擇器

在實(shí)際開(kāi)發(fā)時(shí)删壮,可以根據(jù)自定義的data-屬性選擇相關(guān)的元素贪绘。例如使用querySelectorAll選擇元素:

//選擇所有包含'data-div'屬性的元素

document.querySelectorAll ('[data-div]') ;

//選擇所有包含'data-a-href' 屬性值為red的元素

document.querySelectorAll ('[data-a-href="#"]') ;

同樣的我們也可以通過(guò)data-屬性值對(duì)相應(yīng)的元素設(shè)置CSS樣式,例如下面這個(gè)例子:

<style>

????.head?{ ?

?????????width?:?256px?;??

?????????height?:?200px?;??

?????}??

????.head[data-a='btn-a']?{ ?

?????????color?:?brown??

????}??

? ??.head[data-a='btn-color']?{ ?

?????????color?:?red??

????}??

</style>

<dic class = "head" data-a = "btn-a">button按鈕???</div>

?<div class = "head" data-a = "btn-color">?button按鈕 ?</div>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末央碟,一起剝皮案震驚了整個(gè)濱河市税灌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖菱涤,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苞也,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡粘秆,警方通過(guò)查閱死者的電腦和手機(jī)如迟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)攻走,“玉大人殷勘,你說(shuō)我怎么就攤上這事÷” “怎么了劳吠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)巩趁。 經(jīng)常有香客問(wèn)我痒玩,道長(zhǎng),這世上最難降的妖魔是什么议慰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任蠢古,我火速辦了婚禮,結(jié)果婚禮上别凹,老公的妹妹穿的比我還像新娘草讶。我一直安慰自己,他們只是感情好炉菲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布堕战。 她就那樣靜靜地躺著,像睡著了一般拍霜。 火紅的嫁衣襯著肌膚如雪嘱丢。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天祠饺,我揣著相機(jī)與錄音越驻,去河邊找鬼。 笑死道偷,一個(gè)胖子當(dāng)著我的面吹牛缀旁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勺鸦,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼并巍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了换途?” 一聲冷哼從身側(cè)響起懊渡,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘶窄,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后距贷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吻谋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年忠蝗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漓拾。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阁最,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骇两,到底是詐尸還是另有隱情速种,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布低千,位于F島的核電站配阵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏示血。R本人自食惡果不足惜棋傍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望难审。 院中可真熱鬧瘫拣,春花似錦、人聲如沸告喊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黔姜。三九已至拢切,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間地淀,已是汗流浹背失球。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帮毁,地道東北人实苞。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烈疚,于是被迫代替她去往敵國(guó)和親黔牵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349