JavaScript 自定义属性 data-*使用介绍

 更新时间:2023年06月09日 00:56:15   作者:memeflyfly  
Html5规范中规定自定义属性需要添加前缀data-,目的是提供与渲染无关的信息,读取的时候是通过dataset对象,使用”.”来获取属性,需要去掉data-前缀

JavaScript 自定义属性 data-*

定义和用法

data-* 属性用于存储页面或应用程序的私有自定义数据。

data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。

存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验(不进行 Ajax 调用或服务器端数据库查询)。

data-* 属性包括两部分:

  1. 属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符
  2. 属性值可以是任意字符串

注释:用户代理会完全忽略前缀为 "data-" 的自定义属性。

HTML 4.01 与 HTML5 之间的差异

data-* 属性是 HTML5 中的新属性。

语法

<element data-*="somevalue">

属性值

描述
somevalue规定属性的值(以字符串)。

实例

function showDetails(element) {
      var elementType = element.getAttribute("data-type");
      alert(element.innerHTML + "是" + elementType + "属性角色");
    }
  <h1>角色</h1>
  <p>点击某个角色来查看其属性:</p>
  <ul>
    <li onclick="showDetails(this)" id="fire" data-type="火">迪卢克</li>
    <li onclick="showDetails(this)" id="thunder" data-type="雷">菲谢尔</li>
    <li onclick="showDetails(this)" id="water" data-type="水">芭芭拉</li>
  </ul>

使用dataset属性操作自定义属性

function showDetails(element) {
    var elementType = element.getAttribute("data-type");
    var h3 = document.getElementsByTagName('h3')[0]
    alert(element.innerHTML + "是" + elementType + "属性角色");
    h3.innerHTML = element.dataset.type
  }
<h1>角色</h1>
  <p>点击某个角色来查看其属性:</p>
  <ul>
    <li onclick="showDetails(this)" id="fire" data-type="火">迪卢克</li>
    <li onclick="showDetails(this)" id="thunder" data-type="雷">菲谢尔</li>
    <li onclick="showDetails(this)" id="water" data-type="水">芭芭拉</li>
  </ul>
  <h3></h3>

在函数中alert语句前添加一行代码,对将被点击的元素的data-type赋值

element.dataset.type = '不知道啥属性'

<h1>角色</h1>
  <p>点击某个角色来查看其属性:</p>
  <ul>
    <li onclick="showDetails(this)" id="fire" data-type="火">迪卢克</li>
    <li onclick="showDetails(this)" id="thunder" data-type="雷">菲谢尔</li>
    <li onclick="showDetails(this)" id="water" data-type="水">芭芭拉</li>
  </ul>
  <h3></h3>
<script> 
function showDetails(element) {
    var elementType = element.getAttribute("data-type");
    var h3 = document.getElementsByTagName('h3')[0]
	element.dataset.type = '不知道啥属性'
    alert(element.innerHTML + "是" + elementType + "属性角色");
    h3.innerHTML = element.dataset.type
  }
</script> 

js获取自定义属性data-

Html5规范中规定自定义属性需要添加前缀data-,目的是提供与渲染无关的信息。

读取的时候是通过dataset对象,使用”.”来获取属性,需要去掉data-前缀

<div id="content" data-age="18">12345</div>
var content= document.getElementById('content');
alert(content.dataset.age)
//jquery
$('#content').data('age');//读

字符需要转化为驼峰命名

<div id="content" data-user-list="user_list">data-user_list自定义属性 </div>
var content= document.getElementById('content');
alert(content.dataset.userList)
//jquery
$('#content').data('userList');//读

到此这篇关于jQuery 获取与设置元素属性的详细方法(看完这篇文章就搞明白了)的文章就介绍到这了,更多相关jQuery 获取与设置元素属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • uniapp小程序的图片(视频)上传的组件封装方法

    uniapp小程序的图片(视频)上传的组件封装方法

    这篇文章主要介绍了uniapp做小程序的图片(视频)上传的组件封装,要求实现多张图片的上传 ,可以限制图片上传的数量,图片预览,多次使用对图片的上传顺序排序,需要的朋友可以参考下
    2024-02-02
  • ES6基础之字符串和函数的拓展详解

    ES6基础之字符串和函数的拓展详解

    这篇文章主要介绍了ES6基础之字符串和函数的拓展,结合实例形式分析了ES6字符串与函数扩展的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-08-08
  • JavaScript延时效果比较不错的

    JavaScript延时效果比较不错的

    JavaScript延时效果比较不错的...
    2007-08-08
  • 20170918 前端开发周报之JS前端开发必看

    20170918 前端开发周报之JS前端开发必看

    本文给大家分享了最新版js 前端开发周报,内容非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • 原生JS运动实现轮播图

    原生JS运动实现轮播图

    这篇文章主要为大家详细介绍了原生JS运动实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • IE11下CKEditor在Bootstrap Modal中下拉问题的解决

    IE11下CKEditor在Bootstrap Modal中下拉问题的解决

    这篇文章主要介绍了IE11下CKEditor在Bootstrap Modal中下拉问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • JSscript标签有哪些属性

    JSscript标签有哪些属性

    本文介绍了JSscript标签有哪些属性,向HTML页面中插入JavaScript的主要方法,就是使用script>元素.这个元素由Netscape创造并在NetscapeNavigator2中首先实现.后来,这个元素被加入到正式的HTML规范中,下面小编来讲解下JSscript标签有哪些属性,需要的朋友可以参考下
    2022-01-01
  • 基于JavaScript实现滑动门效果

    基于JavaScript实现滑动门效果

    这篇文章主要为大家详细介绍了js实现滑动门效果的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 使用Promise解决多层异步调用的简单学习心得

    使用Promise解决多层异步调用的简单学习心得

    下面小编就为大家带来一篇使用Promise解决多层异步调用的简单学习心得。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • js刷新页面location.reload()用法详解

    js刷新页面location.reload()用法详解

    这篇文章主要介绍了js刷新页面location.reload()用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论