如何在所有 HTML 元素上嵌入自定义数据属性?


在本文中,我们需要在所有 HTML 元素上嵌入自定义数据属性。我们可以使用 HTML 中的 data-* 属性来实现。

HTML 中的 data-* 属性用于自定义网页或应用程序专用的数据。此属性会向 HTML 元素添加自定义值。

HTML 中的 data-* 属性包含两个部分:

  • 属性值可以是任何字符串。

  • 属性名称只能包含小写字母,并且在“data-”前缀之后至少必须有一个字符。

此数据通常用于 JavaScript 中以改善用户体验。以下是将自定义数据属性嵌入 HTML 元素的示例。

示例 1

在此示例中,

  • 我们列出了三个(服装)并附加了自定义 data-iddata-price 数据。

  • 此处,数据属性对用户不可见。

  • 尽管用户无法看到这些值,但这些值将存在于文档中。

<!DOCTYPE html> <html> <head> <title>How do we embed custom data attributes on all HTML elements? </title> </head> <body> <ul> <li data-id="1" data-price="INR 1899">Shirt</li> <li data-id="2" data-price="INR 2799">Pant</li> <li data-id="3" data-price="INR 4599">Jacket</li> </ul> </body> </html>

这些值没有显示,因为我们没有提取我们指定的自定义属性。

示例 2

在此示例中,

  • 我们在 HTML 表格内创建了四个带标签的链接。

  • 每个元素都有一个自定义 data-plyr-type 属性,其中包含一个播放器名称。

  • 我们使用了 onClick 事件来提取自定义属性。

  • 每当我们点击这些元素时,JavaScript 函数都会提取并显示球员的国家/地区名称。

<!DOCTYPE html> <html> <head> <script> function showData(plyr) { var players = plyr.getAttribute("data-plyr-type"); alert(plyr.innerHTML + " is a " + players + "."); } </script> </head> <body> <h1>Cricketers!</h1> <p>Click on a player to see which team he belongs to:</p> <table border=2 px;> <caption>Players</caption> <tr> <td onclick="showData(this)" id="owl" data-plyr-type="Afganistan player">Rashid khan</td> <td onclick="showData(this)" id="owl" data-plyr-type="Pakistan player">Babar azam</td> </tr> <tr> <td onclick="showData(this)" id="salmon" data-plyr-type="England player">Jos Buttler</td> <td onclick="showData(this)" id="salmon" data-plyr-type="Australia player">Steve smith</td> </tr> <tr> <td onclick="showData(this)" id="tarantula" data-plyr-type="India player">Jasprit bumrah</td> <td onclick="showData(this)" id="tarantula" data-plyr-type="West indies player">Jason holder</td> </tr> </table> </body> </html>

如输出所示,当用户点击任何板球运动员的表格数据时,自定义属性将被提取并显示该特定球员的国家/地区名称。

更新于:2022年11月8日

496 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告