Home Web Front-end Front-end Q&A What are the uses of html5 custom attributes?

What are the uses of html5 custom attributes?

Jul 29, 2022 pm 04:35 PM
html5 Custom properties data-*

html5 custom attribute "data-*" is used to store custom data applied behind a private page, and custom data can give the page a better interactive experience (no need to use Ajax or go to the server) Query data), the syntax is ""; the "data-*" attribute consists of two parts: 1. Do not include uppercase letters in the attribute name. -" must be followed by at least one character; 2. Attribute value, which can be any string.

What are the uses of html5 custom attributes?

The operating environment of this tutorial: Windows 7 system, HTML5 version, Dell G3 computer.

html5 Custom Attributes<span style="font-size: 18px;">data-*</span>

data-* The attribute is used to store custom data applied behind a private page. It is a new attribute in HTML5.

<element data-*="somevalue">
  • somevalue: Specify attribute value (a string)

data-* Attributes can be used in all HTML Embed data in the element.

Customized data can give the page a better interactive experience (no need to use Ajax or query data on the server).

data-* The attribute consists of the following two parts:

  • The attribute name should not contain uppercase letters, and there must be at least one character after data- .

  • Attribute value, the attribute value can be any string

Note: Custom attribute prefix "data-" will be ignored by the client .

You can use dataset to obtain the object constructed by data-attribute. This method is currently only implemented in some browsers such as Chrome and Opera. If other browsers need to obtain their attribute values, they need to use getAttribute and setAttribute to operate.

As long as we define our custom attributes with "data-" as the prefix in the tag, it can be used to store some data.

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>

This data attribute can also be applied in CSS, provided that your browser supports the after pseudo-class and the attr attribute of content (lower versions of IE do not support it):

<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;
}

How to get the value of the data attribute?

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>

1. Use getAttribute to get

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

2. Use Html5 custom attribute object Dataset to get

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

Note: Names with hyphens are in When using it, you need to name it in camel case, that is, write it in a combination of upper and lower case, which is similar to the style object of the application element, dom.style.borderColor. For example, the data attribute is data-other-attribute, then if we want to get the corresponding value, we can use: myp.dataset.otherAttribute

If the Html element defines multiple custom attributes , how to obtain?

<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在标签里设置多个自定义属性</div>

1. Use loop traversal

 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) == &#39;data-&#39;) {
    expense[attrs[i].name.substring(5)] = attrs[i].value;
  }
}

2. Use dataset attribute

var expense = document.getElementById(&#39;myDiv&#39;).dataset;

Note: dataset and It is not a JavaScript object in the typical sense, but a DOMStringMap object, DOMStringMap is a new interactive variable in HTML5 that contains multiple name-value pairs

1) , let all the custom attribute values ​​​​be stuffed into an array

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

2), delete a data attribute

delete myDiv.dataset.attribute;

3, add a data attribute

myDiv.dataset.attribute4 = &#39;value4&#39;;

Dataset compatibility processing

If the browser does not support dataset, it is necessary to do some compatibility processing:

if(myDiv.dataset) {
  myDiv.dataset.attribute = "valueXX"; // 设置自定义属性
  var theValue = myDiv.dataset.attribute; // 获取自定义属性
} else {
  myDiv.setAttribute("data-attribute", "valueXX"); // 设置自定义属性
  var theValue = myDiv.getAttribute("data-attribute"); // 获取自定义属性
}

Conclusion:

Using dataset to operate data is slightly slower than using getAttribute, although using dataset cannot improve the code performance, but for concise code, it is very helpful to improve the readability and maintainability of the code.

[Recommended courses: HTML5 video tutorial, web front-end]

The above is the detailed content of What are the uses of html5 custom attributes?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1535
276
What are HTML5 data attributes? What are HTML5 data attributes? Aug 06, 2025 pm 05:39 PM

HTML5dataattributesarecustom,validHTMLattributesusedtostoreextrainformationinelementsforJavaScriptorCSS.1.Theyaredefinedasdata-*attributes,likedata-user-id="123".2.Theyallowembeddingprivate,customdatadirectlyinmarkupwithoutaffectinglayoutor

What are the supported audio formats in HTML5? What are the supported audio formats in HTML5? Aug 05, 2025 pm 08:29 PM

HTML5 audio format support varies from browser to browser. The most commonly used formats include: 1.MP3 (.mp3, audio/mpeg, supported by all mainstream browsers, with the best compatibility); 2.WAV (.wav, audio/wav, support better but large files, suitable for short audio); 3.OGG (.ogg/.oga, audio/ogg, Chrome, Firefox, Opera support, Safari and IE are not supported, open source free); 4.AAC (.aac/.m4a, audio/aac, Safari, Chrome, Edge support, Firefox support is limited, often used in Apple devices). To ensure compatibility, the

How to use the canvas API for basic drawing in HTML5? How to use the canvas API for basic drawing in HTML5? Aug 07, 2025 am 07:15 AM

To use HTML5Canvas API for basic drawing, first create the canvas element in HTML and set the width and height attribute, and then get its 2D rendering context through JavaScript; 1. Use fillRect, strokeRect and clearRect to draw and clearRect; 2. Create paths and draw lines or custom shapes through beginPath, moveTo, lineTo and closePath; 3. Use arc to draw circles or arcs; 4. Use fillText and strokeText to add fill or stroke text; 5. Set fillStyle, strokeStyle, lin

What is the doctype in HTML5? What is the doctype in HTML5? Aug 06, 2025 am 01:15 AM

It is a necessary tag used in HTML5 to declare document types and must be located at the beginning of the document; its function is to ensure that the browser renders the page in standard mode to avoid compatibility issues caused by the lack of declarations; the declaration is concise, case-insensitive and does not require reference to DTD; correct use can ensure the expected behavior of HTML, CSS and JavaScript.

How to create a simple HTML5 webpage How to create a simple HTML5 webpage Aug 12, 2025 am 11:51 AM

To create a simple HTML5 web page, you need to first use the declaration document type, and then build a basic structure containing, and, which sets the character encoding, viewport and title, add visible content such as title, paragraph, link, pictures and lists. Save it as a .html file and open it directly in the browser for viewing, without server support. This is the basis of a complete and effective HTML5 page.

What is the aside element for in HTML5? What is the aside element for in HTML5? Aug 12, 2025 pm 04:37 PM

Theelementshouldbeusedforcontenttangentiallyrelatedtothemaincontent,suchassidebars,pullquotes,definitions,advertisements,orrelatedlinks;2.Itcanbeplacedinsideoroutsideanarticledependingoncontext;3.ItisasemanticelementthatenhancesaccessibilityandSEObyp

What is the readonly attribute in HTML5? What is the readonly attribute in HTML5? Aug 08, 2025 am 11:55 AM

ThereadonlyattributeinHTML5makesforminputsnon-editablewhilestillallowingsubmissionanduserinteraction;1.Itappliestoandelements;2.Itisabooleanattribute,soonly"readonly"needstobepresent;3.Unlike"disabled",itallowsfocusandthedataisinc

How to create a color picker in an HTML5 form? How to create a color picker in an HTML5 form? Aug 08, 2025 am 03:48 AM

Use type="color" to create an HTML5 color selector, 1. Use add color input; 2. You can set the default color value through the value attribute (must be in a 7-character hexadecimal format such as #ffffff); 3. All modern browsers support it, and older browsers will fall back to text input; 4. You can preview color changes in real time with JavaScript; 5. Label tags should be added to improve accessibility, and JavaScript library can be used to provide downgrade support when necessary. This method is simple, effective and widely supported.

See all articles