使用jQuery获取data-的自定义属性
2015-11-10 11:50
633 查看
废话少说,先上代码
jQuery.fn.dataset = function(attr, val) { // 获取数据集 if (arguments.length == 0) { var dataset = {}; jQuery(this).eq(0).each(function() { var attrs = this.attributes; for (var i = 0, l = attrs.length; i < l; i++) { var attr = attrs[i]; if (/^data-/i.test(attr.name)) { dataset[decode(encode(attr.name.substring(5)))] = autobox(attr.value); if (decode(encode(attr.name.substring(5))) == "path") { dataset[decode(encode(attr.name.substring(5)))] = attr.value != null ? String(attr.value) : null; } if (decode(encode(attr.name.substring(5))) == "name") { dataset[decode(encode(attr.name.substring(5)))] = attr.value != null ? String(attr.value) : null; } } } }); return dataset; } // 返回指定数据 if (arguments.length == 1 && typeof attr != 'object') { if(encode(attr) == "data-path"){ return this.attr(encode(attr)); } return autobox(this.attr(encode(attr))); } // 设置数据集 var dataset = attr; if (typeof attr != 'object') { dataset = {}; dataset[attr] = String(val); } var tmp = {}; jQuery.each(dataset, function(k, v) { tmp[encode(k)] = autobox(v); }); return this.attr(tmp); };
通过jQuery制作组件,可以轻松获取到我们data-的自定义属性,也可以给data-属性来赋值。
获取:
$("div").dataset("name") //获取data-name的值
赋值:
$("div").dataset("name","Tezml") //给data-name这个属性赋值为Tezml
您可能感兴趣的文章:
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- JavaScript 各种遍历方式详解
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- Jquery实现的table最后一行添加样式的代码
- jQuery实现向下滑出的平滑下拉菜单效果
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码
- 使用Browserify配合jQuery进行编程的超级指南
- jquery如何实现在加载完iframe的内容后再进行操作
- jquery $.ajax()取xml数据的小问题解决方法
- jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
- Jquery 表单取值赋值的一些基本操作
- jQuery实现复选框批量选择与反选的方法