中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html5自定義屬性怎么使用

發布時間:2022-07-29 17:09:30 來源:億速云 閱讀:235 作者:iii 欄目:web開發

這篇文章主要介紹了html5自定義屬性怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇html5自定義屬性怎么使用文章都會有所收獲,下面我們一起來看看吧。

html5自定義屬性“data-*”用于存儲私有頁面后應用的自定義數據,而自定義的數據可以讓頁面擁有更好的交互體驗(不需要使用Ajax或去服務端查詢數據),語法“<element data-*="指定屬性值(一個字符串)">”;“data-*”屬性由兩部分組成:1、屬性名不要包含大寫字母,在“data-”后必須至少有一個字符;2、屬性值,該值可以是任何字符串。

本教程操作環境:windows7系統、HTML5版、Dell G3電腦。

html5自定義屬性data-*

data-* 屬性用于存儲私有頁面后應用的自定義數據,是 HTML5 新增的屬性。

<element data-*="somevalue">
  • somevalue:指定屬性值 (一個字符串)

data-* 屬性可以在所有的 HTML 元素中嵌入數據。

自定義的數據可以讓頁面擁有更好的交互體驗(不需要使用 Ajax 或去服務端查詢數據)。

data-* 屬性由以下兩部分組成:

  • 屬性名不要包含大寫字母,在 data- 后必須至少有一個字符。

  • 屬性值,該屬性值可以是任何字符串

注意: 自定義屬性前綴 "data-" 會被客戶端忽略。

利用dataset可以獲取data-屬性構造的對象,該方法目前只能在Chrome 、Opera等部分瀏覽器中實現,其他瀏覽器如需獲取其屬性值需要使用getAttribute和setAttribute來操作。

只要在標簽里面以”data-”為前綴定義我們的自定義屬性就可以用來進行一些數據的存放。

<div id="myDiv" data-attribute="value">在標簽里設置H5新增的自定義屬性</div>

這個data屬性還可以應用在CSS中,前提是你的瀏覽器支持after偽類,以及content的attr屬性(低版本的IE不支持):

<div id="myDiv" data-attribute="屬性值">data屬性應用于CSS中</div>
#myDiv{
  position: ralative;
}
 
#myDiv:hover:after{
  position: absolute;
  top: 0px;
  left: 0px;
  content: attr(data-attribute);
  color: red;
}

如何獲取data屬性的值?

<div id="myDiv" data-attribute="value">在標簽里設置H5新增的自定義屬性</div>

1、使用getAttribute來獲取

var myDiv = document.getElementById("myDiv");
var theValue = myDiv.getAttribute("user-defined-attribute");

2、使用Html5自定義屬性對象Dataset來獲取

var myDiv = document.getElementById("myDiv");
 
var theValue = myDiv.dataset.attribute;

注意:帶連字符連接的名稱在使用的時候需要命名駝峰化,即大小寫組合書寫,這與應用元素的style對象類似,dom.style.borderColor。例如data屬性為data-other-attribute,則我們要獲取相應的值可以使用:myp.dataset.otherAttribute

如果Html元素定義了多個自定義屬性,如何獲取?

<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在標簽里設置多個自定義屬性</div>

2、使用循環遍歷

 var myDiv = document.getElementById("myDiv");
var attrs = myDiv.attributes,
var expense = {}, i, j;  
for (i = 0, j = attrs.length; i < j; i++) {
  if(attrs[i].name.substring(0, 5) == 'data-') {
    expense[attrs[i].name.substring(5)] = attrs[i].value;
  }
}

3、使用dataset屬性

var expense = document.getElementById('myDiv').dataset;

注:dataset并不是典型意義上的JavaScript對象,而是個DOMStringMap對象DOMStringMap是HTML5一種新的含有多個名-值對的交互變量

1)、讓所有的自定義的屬性值塞到一個數組中

var chartInput = [];
 
for (var item in expense) {
  chartInput.push(expense[item]);
}

2)、刪掉一個data屬性

delete myDiv.dataset.attribute;

3、增加一個data屬性

myDiv.dataset.attribute4 = 'value4';

dataset的兼容性處理

如果瀏覽器不支持dataset,有必要做一下兼容處理:

if(myDiv.dataset) {
  myDiv.dataset.attribute = "valueXX"; // 設置自定義屬性
  var theValue = myDiv.dataset.attribute; // 獲取自定義屬性
} else {
  myDiv.setAttribute("data-attribute", "valueXX"); // 設置自定義屬性
  var theValue = myDiv.getAttribute("data-attribute"); // 獲取自定義屬性
}

關于“html5自定義屬性怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“html5自定義屬性怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁蒗| 周至县| 福安市| 台北市| 深水埗区| 浦城县| 凤台县| 蓬安县| 岳阳市| 开封县| 东海县| 迁安市| 温泉县| 海口市| 武川县| 雷山县| 清徐县| 长沙县| 伊宁市| 昆山市| 婺源县| 玛多县| 华安县| 洛扎县| 遵化市| 定远县| 淄博市| 密山市| 马鞍山市| 会同县| 大渡口区| 马龙县| 广河县| 眉山市| 宜城市| 罗田县| 宁国市| 南宫市| 民勤县| 姚安县| 常熟市|