视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何使用H5的dataset
2020-11-27 15:06:22 责编:小采
文档


这次给大家带来如何使用H5的dataset,使用H5的dataset的注意事项有哪些,下面就是实战案例,一起来看一下。

HTML5标准允许你在普通的元素标签里,嵌入类似data-*的属性,来实现一些简单数据的存取。它的数量不受,并且也能由javascript动态修改,也支持CSS选择器进行样式设置。这使得data属性特别灵活,也非常强大。有了这样的属性我们能够更加有序直观的进行数据预设或存储。当然,任何的标签元素里面可以随意的加上任何自定义属性,也可以获取他们的值,但没有这个来的灵活。我们先来看一下随意的属性存储数据吧。

1.利用dom节点对象的setAttribute和getAttribute

例子:

<!doctype html>
<html lang="en">
 <head>
 <meta charset="UTF-8">
 <meta name="Generator" content="EditPlus?">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <title>
Document
</title>
 </head>
 <body>
 <span id="music" mtitle="yestoday once more">昨日重现</span>
 <script type="text/javascript">
 var mdoc=document.getElementById('music');
 alert(mdoc.getAttribute('mtitle'));
 </script>
 </body>
</html>

运行这段代码,页面上可以获取mtitle对应的值。这样写虽然可以,但是想要预置更多的信息,应该采用一个语义属性data-*。比如刚才例子,想给音乐

注入更多关于这首歌数据,可以这样写:

<span id="music-latch" class="musique" 
data-date="2013" 
data-genre="Electronic" 
data-album="Settle (Deluxe)" 
data-artist="Disclosure" 
data-composer="Howard Lawrence & Guy Lawrence"> 
Latch (feat. Sam Smith) 
 </span>

访问属性还是可以采用第一种方式:var album = document.getElementById("music-latch").getAttribute("data-album");
console.log(album);

但是这种方法比较低端,如果遇到多个data-*自定义字段,想要一次全部获取所有的data属性并包装成对象的话,还必须做一个循环,很麻烦。不过我们还有Dataset API可用。
2. 利用 dataset API 存取 dataset
通过.dataset API,我们可以更方便的获取元素的所有data字段,并以对象的方式,方便存取和遍历。例如,对于上面的例子,可以运行 :

 <script type="text/javascript">
 var mdoc=document.getElementById('music-latch');
 var ds=mdoc.dataset;
 alert(ds.date+'--'+ds.album);
 </script>

这时候我们在访问data时,就不需要"data-"关键词了,直接利用.dataset.name就可以访问到。这比上面的方法更方便。所做出的任何更改,都是可以实时反映到元素data属性上的。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

如何使用css3实现3d立体特效

使用DOM的一些小结

下载本文
显示全文
专题