关于HTML5如何自定义属性

html-css024

关于HTML5如何自定义属性,第1张

HTML5新增自定义属性的特性,在HTML代码中,我们可以在标签上直接定义自定义属性,自定义属性命要以'data-'开头

<p data-hello="这是自定义属性的值">呵呵呵呵</p>

我们可以使用原生JS获取到自定义属性的值

let p = document.querySelector('p')

console.log(p.dataset.hello) //这是自定义属性的值

也可以通过jquery获取自定义属性的值

$('p').data('hello') //这是自定义属性的值

当然,也可以通过传统的方法来获取自定义属性的值

let p = document.querySelector('p')

p.getAttribute('data-hello')

p.setAttribute('data-hello','这是重新赋值')

//jquery

$('p').attr('data-hello')  //获取

$('p').attr('data-hello','设置')  //设置

data-*是HTML5新增的一个自定义数据属性功能,作为可以暂存数据使用。利用dataset可以获取data-属性构造的对象,该方法目前只能在Chrome 、Opera等部分浏览器中实现,其他浏览器如需获取其属性值需要使用getAttribute和setAttribute来操作。

(1)通过dataset方法获取

注意:data-之后以连字符分割的多个单词组成的属性,获取时候需要使用驼峰风格。如例子中的font-size需要改成fontSize。

如果你想删掉一个data-属性:

(2)、使用getAttribute方法获取

2、、data-*属性选择器用法

可以根据自定义的data-属性选择相关的元素。例如使用querySelectAll选择元素,例如

同样的我们也可以通过 data- 属性值对应的元素设置CSS样式,如下

部分内容参考如下出处: https://zhuanlan.zhihu.com/p/94849216

<div id="newTest" myAttr="getAttr"></div>

这里的“myAttr”就是这个标签的自定义属性了。

如果定义了属性却使用不了,那么这个属性就没有任何意义了,接下来就是如何去调用我们的自定义属性的值了。

在IE浏览器里,我们通过获取对象后直接调用就可以了

document.getElementById("newTest").myAttr