H5中关于自定义属性的设置和获取
给元素自定义属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现无任何影响,但是却可以方便操控整个网页的交互以及想要表达的效果。
比如我们通过一个对象得到了某个地区所有的城市,但是呢,我们还需要得到城市的其他信息以方便接下来的操作,我们就可以在这个城市的标签中添加一个自定义属性,用来存放这个地区的其他信息,操作的时候直接通过我们设置的属性名拿值即可,可以很大空间的提升我们和计算机的操作量。
往属性里面存值的时候注意一定是字符串或者,所以需要存的数据是一个对象的时候,记得转化成字符串
var cityStr = JSON.stringify(cityObj);
对于数据属性值的获取和设置,JQ提供了两种方法attr()和data()
这两种方法,当只传递一个参数时,这个参数时属性名,是获取该属性的值,
当传递两个参数时,是设置属性名,属性值
$(selector).attr(attribute,value)
下面是用data来实现存取自定义属性的小案例:
click1click2<script src="../assets/jquery-1.9.1.min.js"></script><script> //点击click1向box添加属性student,属性值为tom $("#btn1").click(function () { $("#box1").data("student","tom") }); //通过属性名获取属性值 $("#btn2").click(function () { alert($("#box1").data("student")); }); </script>
用attr来实现同样的效果
<script> $("#btn").click(function () { $("#box1").attr("data-student","tom") }); $("#btn2").click(function () { alert($("#box1").attr("data-student")); }); </script>
通过开发者工具可以看到,当点击保存按钮(click1)的时候,自动给box1添加了自定义的属性,用data方法添加的时候这里并不会看见data-student=”tom“,依旧可以通过它取出来其值”tom“,两个并无多大区别,只是引用方式不同而已。属性名前面加上 data- 是H5规范写法,最好加上。
这里还要注意的是
1. 自定义的属性名不可以与系统的属性名相同,eg: class、name….
2. 所有的属性值只能是字符串,不管是系统还是自定义的
3. Html5规定,给元素自定义数据属性时,属性名称以data-开头,但是真正的属性名不包括data-
上一篇: 给你个替美女做事的机会
推荐阅读
-
Python中动态获取对象的属性和方法的教程
-
H5对自定义属性的规定和添加获取自定义属性的方法
-
Winform中设置和获取DevExpress的RadioGroup的选中项的value值
-
JS和jQuery通过this获取html标签中的属性值(实例代码)
-
Lua中获取utf8字符串长度的方法和自定义函数
-
JavaScript中的获取对象宽高等属性的方法和区别对比讲解
-
Python之一个关于天气的csv文件中获取最高和最低气温的图表
-
X-admin2.2中switch开关的监听,以及属性值获取和更改状态等操作
-
(转载)关于JSP页面中的pageEncoding和contentType两种属性的区别:
-
JavaScript 中那些关于坐标和距离的属性与方法