`

jQuery.data()和html5 dataset

 
阅读更多
    我们先来看下HTML 5 增加的一项新功能是自定义数据属性-- data-* 自定义属性
http://www.css88.com/archives/4715
<div id="user" data-uid="123456" data-uname="html5" data-date-of-birth>码头</div>

一)使用attribute方法能够存取 data-* 自定义属性的值:
    所有的现代浏览器中都能正常工作,但它不是HTML 5 的自定义 data-*属性被使用目的。
// 使用getAttribute获取 data- 属性
var user = document . getElementById ( 'user' ) ;
var userName = plant . getAttribute ( 'data-uname' ) ; //  'html5'
var userId = plant . getAttribute ( 'data-uid' ) ; //  '123456'
// 使用setAttribute设置 data- 属性
user . setAttribute ( 'data-site' , 'http://www.css88.com' ) ;

二)dataset属性存取data-*自定义属性的值:
   通过访问一个元素的 dataset 属性来存取 data-* 自定义属性的值,dataset 属性是HTML5 JavaScript API的一部分,用来返回一个所有选择元素 data- 属性的DOMStringMap对象。
   兼容性:Chrome 8+ Firefox(Gecko) 6.0+ Internet Explorer 11+ Opera 11.10+ Safari 6+浏览器
1)不是使用完整的属性名,要去掉data- 前缀
2)属性名如果包含了连字符,连字符将被去掉,并转换为驼峰式的命名,例如:data-date-of-birth  ---》dateOfBirth

var el = document.querySelector('#user');
console.log(el.uid); // 'user'
console.log(el.dataset);//一个DOMStringMap
console.log(el.dataset.uid); // '123456'
console.log(el.dataset.uname); // 'html5'
console.log(el.dataset.dateOfBirth); // ''
el.dataset.dateOfBirth = '2015-03-26'; // 设置data-date-of-birth的值.
console.log('someDataAttr' in el.dataset);//false
el.dataset.someDataAttr = 'mydata';
console.log('someDataAttr' in el.dataset);//true


接下来我们看看jQuery中的data()   
     作用:在匹配元素上存储任意相关数据 或 返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。
     语法:.data( key, value )
            value为新的数据值,可以是任意的Javascript数据类型,除了undefined。
     语法:.data( obj )
            一个用于更新数据的 键/值对。
  <div>
    The values stored were
    <span></span>
    and
    <span></span>
  </div>
//输出:The values stored were 16 and pizza!
<script>
$("div").data("test", { first: 16, last: "pizza!" });
$("span:first").text($("div").data("test").first);
$("span:last").text($("div").data("test").last);
</script>


分析的很详细:http://zhangyaochun.iteye.com/blog/1746676
分享到:
评论

相关推荐

    HTML5中的dataset自定义属性.pdf

    HTML5 是一种现代的网页和应用程序开发标准,它引入了许多新特性和改进,以提高开发效率和用户体验。其中,`dataset` 自定义属性是 HTML5 为了满足开发者在页面元素中存储非展示性数据需求而引入的一个关键特性。这...

    使用jQuery获取data-的自定义属性

    总之,jQuery提供的`jQuery.fn.dataset`函数使得获取和设置"data-"自定义属性变得简单,增强了HTML元素的数据承载能力,进而提高了前端开发的灵活性和可维护性。在实际开发中,合理利用这一特性可以优化代码结构,...

    JS JQuery获取data-*属性值方法解析

    在前端开发中,`data-*`属性是 HTML5 引入的一种新特性,它允许开发者为页面或应用程序中的任何元素添加额外的自定义数据属性。这些属性非常有用,特别是在需要存储与特定元素相关联的数据时。本文将详细介绍四种...

    jquery ingrid示例代码(asp.net)

    GridView1.DataSource = dataSet.Tables[0]; GridView1.DataBind(); } ``` 然后,我们配置jQuery Ingrid以显示GridView中的数据。这通常在页面加载完成后执行,通过选择表格元素并调用`.ingrid()`方法: ```...

    HTML5自定义data-* data(obj)属性和jquery的data()方法的使用

    总的来说,HTML5的data-*属性和jQuery的.data()方法为前端开发提供了强大的数据绑定能力,使得HTML元素能够携带更多的元信息,而无需在JavaScript或CSS中硬编码。这提高了代码的可维护性和灵活性,特别是在构建复杂...

    jquery_html5_图表

    本文将深入探讨如何利用jQuery和HTML5来实现图表展示。 **jQuery简介** jQuery是一款轻量级的JavaScript库,它简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。通过使用jQuery,开发者可以更高效地...

    jquery动态绘图(各种绘图)

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互等任务。本篇文章将详细探讨如何利用jQuery进行动态绘图,包括多种类型的绘图方法,并通过丰富的实例来展示其...

    js,jquery懒加载demo

    img.src = img.dataset.src; img.classList.remove('lazy'); } }); } function isElementInViewport(element) { const rect = element.getBoundingClientRect(); return ( rect.top &gt;= 0 && rect.left &gt;= 0...

    jquery+css3提示工具.zip

    在前端开发中,jQuery、CSS3以及HTML5的结合使用能极大地提升用户体验和网页交互性。这个名为"jquery+css3提示工具.zip"的压缩包文件显然包含了一个利用这些技术实现的提示工具。下面我们将详细探讨jQuery、CSS3以及...

    Jquery图表简单Demo

    jQuery 是一个高效、简洁、强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互。其简洁的API使得JavaScript编程变得更加容易。 2. **选择图表库** 在这个Demo中,可能使用的是像`Chart.js`或`...

    jQuery+HTML5可鼠标拖动幻灯片切换特效

    此特效还可能利用HTML5的`data-*`属性来存储自定义数据,如幻灯片的索引或状态,这些数据在JavaScript中可以通过`dataset`属性访问。同时,CSS3的新选择器和动画属性也是实现这一效果的关键,如`transition`和`...

    3种不同的ContextMenu右键菜单演示.

    以上是三种不同的ContextMenu实现方法:原生JavaScript、jQuery插件和HTML5 Dataset API结合CSS/JavaScript。每种方法都有其特点和适用场景,开发者可以根据项目需求选择合适的方式。通过深入理解这些实现方式,你...

    jQuery html图片墙鼠标悬停文字滑出提示

    【jQuery html图片墙...同时,为了兼容性考虑,可以使用现代浏览器的`dataset` API替换jQuery的`data()`方法来获取数据属性。这只是一个基础的实现,实际开发中可能还需要考虑到其他因素,如性能优化、响应式布局等。

    jQuery+HTML5实现响应式焦点图动画应用特效源码.zip

    HTML5的新特性如`data-*`属性和`dataset` API可以帮助我们轻松地存储和获取数据,提高代码的可维护性。同时,`&lt;figure&gt;`和`&lt;figcaption&gt;`标签可以用来结构化焦点图的内容,增强语义化。 实现过程中,首先我们需要...

    Jquery 1.9 最新版 升级 rar

    4. **兼容性改进**:jQuery 1.9保持了对旧版浏览器的良好支持,同时增加了对HTML5新特性的支持,如`dataset`属性。 ### JavaScript 与jQuery的结合 JavaScript是网页脚本的基础,而jQuery则是其强大的工具集。在...

    对 jQuery 中 data 方法的误解分析

    例如,给定一个带有data-username属性的HTML元素,我们可以使用dataset.username来获取它的值。这种做法是原生JavaScript的特性,而不是jQuery特有的功能。 而在jQuery中,data方法被用来获取或设置与元素关联的...

    jquery实现多条件筛选特效.zip

    在实现筛选功能时,我们可以利用HTML5的数据属性来存储额外信息,例如`&lt;div data-category="fruit"&gt;苹果&lt;/div&gt;`,然后在JavaScript中通过`dataset`属性访问这些数据。 在这个项目中,很可能包含了HTML结构(用于...

    js 获取html5的data属性实现方法

    我以前一直以为只能用jquery的data()来获取 哈哈 是我太弱了 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;dataset&lt;/title&gt; &lt;meta charset="utf-8"&gt; &lt;/head&gt; &lt;body&gt; ...

Global site tag (gtag.js) - Google Analytics