html5中data属性,dataset与jquery中的date()

首先是“你必须知道的28个HTML5特征、窍门和技术”里对date属性的分析:

我们现在可以很正式地让所有的HTML元素支持自定义属性。然而,以前,我们可能会这样:

<h1 id=someId customAttribute=value>你好,我是以前的自定义属性<h1>

…校验器会小题大做!但是现在,只要我们以”data”为前缀定义我们的自定义属性,盗版属性立马变成正牌的了。如果你发现你曾经把一个重要的数据附加在诸如class的属性上,可能为了JavaScript之用,那么,本属性将大有帮助啊。

html片段:

<h1 id="newAttr" data-new-attr="my value">我是新时代的帅气自定义属性<h1>

检索自定义属性的值:

var theDiv = document.getElementById(‘newAttr‘);
var arr = theDiv.getAttribute(‘data-new-attr‘);
alert(arr);//my value

此属性还可以用在CSS中,例如下面这个有些傻里傻气的CSS文字改变的例子:

<style>
.data_custom { display:inline-block; position: relative; }//控制after的定位
.data_custom:hover { color: transparent; }//使原来的文字变透明
.data_custom:hover:after {//光标在上面的时候出现after伪元素
    content: attr(data-hover-response);//这里的attr是获取自定义属性的内容,貌似只能在content这里使用
    color: black;
    position: absolute;
    left: 0;
}
</style>

<a class="data_custom" data-hover-response="我说过不要碰我!" href="#">不要碰我,雅蠛蝶~~</a>

这里是效果图

content属性其实是一个非常强大的属性,由于低版本的IE不支持,所以此属性尚未流行,关于content内容生成技术下面是张鑫旭的空间,有相关的详细说明

http://www.zhangxinxu.com/wordpress/2010/04/css-content内容生成技术以及应用/

说完data的属性后,现在可以说dataset了,

Dataset基础

下面是元素应用data属性的一个例子:

<div id="day2-meal-expense"
  data-drink="coffee"
  data-food="sushi"
  data-meal="lunch">¥20.12</div>

要想获取某个属性的值,可以像下面这样使用dataset对象:

var expenseday2 = document.getElementById(‘day-meal-expense‘);
var typeOfDrink = expenseday2.dataset.drink;

浏览器实现的效果:

需要注意的是带连字符连接的名称在使用的时候需要命名驼峰化,即大小写组合书写,这与应用元素的style对象类似,dom.style.borderColor。例如,假设上面的例子中现在有如下data属性,data-meal-time,则我们要获取相应的值可以使用:

expenseday2.dataset.mealTime

data属性基本上所有的浏览器都是支持的,但是dataset对象就属于新贵,目前仅在Opera 11.1+, Chrome 9+下可以通过JavaScript,使用dataset访问你自定义的data属性。至于其他浏览器,FireFox 6+(未出)以及Safari 6+(未出)会支持dataset对象,至于IE浏览器,目前看来还是遥遥无期的趋势。具体的些兼容性数据,您可以点击这里访问。

时间: 2024-10-07 23:49:08

html5中data属性,dataset与jquery中的date()的相关文章

解决HTML5中placeholder属性兼容性的JQuery插件

//调用方法 $(function () {   $(".pHolder").jason(); }); //HTML代码 <input type="text" class="pHolder" placeholder="请输入姓名" /> //jquery插件 ($.fn.jason = function(a) {    var b = {        focus: "black",      

jquery的data()函数和html5的data属性

jquery的data()函数和html5的data属性:在html5中新增了一个自定义data属性,利用这个属性,可以添加任意的以"data-"开头的属性,这些属性不会再页面上显示,也不会影响任何原有的布局效果,并且此自定义属性是可读写的,例如: <div id="thediv" data-webname="蚂蚁部落">蚂蚁部落欢迎您</div> 以上代码就是使用自定义data属性的一个简单例子.可以使用jquery的d

DOM中动态创建元素与jQuery中动态创建元素

DOM中动态创建元素与jQuery中动态创建元素 DOM中动态创建元素: 1. document.write("标签的代码")    缺点:页面中原有的元素会被覆盖掉 2. innerHTML 3. document.createElement("标签的名称") jQuery中动态创建元素: 1. $("标签的代码") 2. 对象.html("标签的代码") 原文地址:https://www.cnblogs.com/david

js中的原生Ajax和JQuery中的Ajax

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). js中的Ajax: 参数介绍: open(String method,String url,boolean asynch);        准备请求:             url:            get/post            true/false:            true:异步            false:同步 readyState  

vue实例中中data属性三种写法

<script type="text/javascript"> var app=new Vue({ el:'#app', data:{ book: "vue.js" } })</script> <script type="text/javascript">var app=new Vue({el:'#app',data:function(){book: "vue.js"}})</scri

HTML5自定义data属性

可能大家在使用jquery mobile时,经常会看到data-role.data-theme等的使用,比如:通过如下代码即可实现页眉的效果: [html] <div data-role="header">     <h1>我是标题</h1> </div>  为什么写一个data-role="header"就能实现底部为黑色.文字居中显示的效果呢? 本文提供一种最简单的实现办法,让大家对这些用法有个直观的了解. 我们写

js中的写出想jquery中的函数一样调用

1.IIFE: Immediately-Invoked function Expression 函数模块自调用 2.代码实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <div id="demo">的么的事</div> <

jQuery 中 data 方法的实现原理

前言:jQuery 作为前端使用最多最广泛的 JS 库,其源码每个 JSer 都应该研究一下.早就打算看却一直被各种事拖着,上次某公司面试时被问到 jQuery 中 data 方法是如何实现的,结果答不上来懊悔不已.现在终于下决心开始看 jQuery 的源码,就从 data 方法开始.本人也是前端新手,如果文章中有理解不当或者错误之处,欢迎留言指出,3Q~ jQuery 版本为 1.8.2 data() 的使用方法 // 向一个 dom 元素绑定数据 $("#header").data

html5 data属性的使用

html5 data属性定义和用法 <ul> <li data-animal-type="bird">Owl</li> <li data-animal-type="fish">Salmon</li> <li data-animal-type="spider">Tarantula</li> </ul> data-* 属性用于存储页面或应用程序的私有自定义