首页 > 程序开发 > web前端 > HTML 5 >

H5中关于自定义属性的设置和获取

2017-09-15

H5中关于自定义属性的设置和获取。给元素自定义属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现

给元素自定义属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现无任何影响,但是却可以方便操控整个网页的交互以及想要表达的效果。

比如我们通过一个对象得到了某个地区所有的城市,但是呢,我们还需要得到城市的其他信息以方便接下来的操作,我们就可以在这个城市的标签中添加一个自定义属性,用来存放这个地区的其他信息,操作的时候直接通过我们设置的属性名拿值即可,可以很大空间的提升我们和计算机的操作量。

往属性里面存值的时候注意一定是字符串或者,所以需要存的数据是一个对象的时候,记得转化成字符串

var cityStr = JSON.stringify(cityObj);

对于数据属性值的获取和设置,JQ提供了两种方法attr()data()

这两种方法,当只传递一个参数时,这个参数时属性名,是获取该属性的值,

当传递两个参数时,是设置属性名,属性值

 $(selector).attr(attribute,value)

下面是用data来实现存取自定义属性的小案例:


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

相关文章
最新文章
热点推荐