欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-12 20:24:20
给元素自定义属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些...

给元素自定义属性是在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>

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

通过开发者工具可以看到,当点击保存按钮(click1)的时候,自动给box1添加了自定义的属性,用data方法添加的时候这里并不会看见data-student=”tom“,依旧可以通过它取出来其值”tom“,两个并无多大区别,只是引用方式不同而已。属性名前面加上 data- 是H5规范写法,最好加上。

这里还要注意的是

1. 自定义的属性名不可以与系统的属性名相同,eg: class、name….

2. 所有的属性值只能是字符串,不管是系统还是自定义的

3. Html5规定,给元素自定义数据属性时,属性名称以data-开头,但是真正的属性名不包括data-