A data-* attribute on an <audio> tag attaches additional data to the audio player.
To create a custom attribute, replace * with a lowercase string, such as data-id
, data-status
, or data-location
.
A custom data-composer
attribute on an audio player.
The attribute value is not visible, but is readable by JavaScript.
<audio data-composer="J.A. Hollister" controls>
<source src="/media/epic.mp3" type="audio/mpeg">
<source src="/media/epic.wav" type="audio/wav">
</audio>
The data-* attribute adds custom information to an <audio> element.
The * part is replaced with a lowercase string, such as data-id, data-volume, data-breed, etc.
An <audio> element can have any number of data-* attributes, each with their own name.
Using data-* attributes reduces the need for requests to the server.
Note: The data-* attribute is not visible and does not change the appearance of the audio control.
<audio data-*="value">
Note: The * can be any string, such as data-id
, data-cost
, data-supplier
, etc.
Value | Description |
---|---|
value | A string value. Can be numeric, alphanumeric, JSON, etc. |
A custom data-producer
attribute on an <audio> element.
Clicking the button will display the producer value.
<audio data-producer="Philadelphia Harmonic" controls id="myaudio">
<source src="/media/epic.mp3" type="audio/mpeg">
<source src="/media/epic.wav" type="audio/wav">
</audio>
<br/>
<button onclick="show();">Show data</button>
<script>
let show = () => {
let element = document.getElementById("myaudio");
alert("Producer = " + element.getAttribute('data-producer'));
}
</script>
The <audio> tag contains a custom data-producer
attribute.
The data-producer
value is the producer of the audio file.
Button clicks are handled by the onclick
event.
Onclick invokes a JavaScript function that extracts and displays the audio producer.
Here is when data-* support started for each browser:
Chrome
|
4.0 | Jan 2010 |
Firefox
|
3.5 | Jun 2009 |
IE/Edge
|
9.0 | Sep 2012 |
Opera
|
10.0 | Aug 2009 |
Safari
|
11.5 | Jun 2009 |