demo:

<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<script src="<%=path%>/js/jquery/jquery-1.8.3.min.js"> </script> </head>
<body>
<div id="divDom" data-name="userName" data-age="26" data-address="北京市">data-test</div>
</body>
<script type="text/javascript">
$(function(){//$(element).data(keyName),jquery也提供了兼容方法。
var divDom = document.getElementById('divDom'),dataSet = get_dataset(divDom);
console.info("name:"+dataSet.name);
console.info("age:"+dataSet["age"]);
});
//带兼容的函数
function get_dataset(ele){
if(ele.dataset)
return ele.dataset;
else{
//以下是兼容代码
var dataset = {};
var ele_split = ele.outerHTML.split(" ");
for(var i = 0,element; i < ele_split.length; i++)
{
element = ele_split[i];
if (element.substring(0,4) == "data") {
if (element.indexOf(">") != -1) {
element = element.split(">")[0];
};
ele_key=element.split("=")[0].slice(5);
ele_value=element.split("=")[1].slice(1,-1);
if(ele_key.indexOf("-") == -1){
dataset[ele_key] = ele_value;
}else{
ele_keys=ele_key.split("-");
ele_key=ele_keys[0];
for(i=1;i<ele_keys.length;i++){
ele_key+=replaceReg(ele_keys[i]);
}
}
};
}
return dataset;
} }
//正则表达式变换首字母大写
function replaceReg(str){
var reg = /\b(\w)|\s(\w)/g;
str = str.toLowerCase();
return str.replace(reg,function(m){return m.toUpperCase()})
}
</script>
</html>

html5 data-*自定义属性取值的更多相关文章

  1. HTML5常见的取值与单位

    HTML5常见的取值与单位     长度单位包括 相对长度单位包括:em, ex, ch, rem, vw, vh, vmax, vmin 绝对长度单位包括:cm, mm, q, in, pt, pc ...

  2. jquery data方法取值与js attr取值的区别

    <a data-v="3"></a> jquery data方法的运行机制: 第一次查找dom,使用attributes获取到dom节点值,并将其值存到缓存 ...

  3. JQuery 自定义属性取值 赋值

    <span id="status_68" data-id="0" onclick="collection(68,false);" cl ...

  4. html5 自定义标签取值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. js方法返回多值如何取值demo

    js方法返回,如何取值?下面demo两种方法 new array 和 json 返回值 取值示例. 方法一:  new array <html> <head> <meta ...

  6. CYQ.Data 快速开发之UI(赋值、取值、绑定)原理

    昨夜园子猴子问了几个我CYQ.Data使用的小问题,经过简单解答后,他表示“妈妈再也不用担心我的学习",并于事后以资鼓励,希望这框架越走越好. 除了技术上的交流,双方在生活,S上面的问题上也 ...

  7. Data层相关问题 & JS循环取值

    第一次写博客,里面是自己工作中碰到的问题及总结的知识点,便于自己以后回顾,技术大牛们请直接忽略这篇文章,也希望能帮助到想我这样的小白! Data层相关问题总结: 1. 代码管理用的是 VSS 2005 ...

  8. ul>li中自定义属性后取值的问题

    动态赋值的li: $.ajax({ type: "POST", url: "${base}/before/subDemand/listType", succes ...

  9. ng2中 如何使用自定义属性data-id 以及赋值和取值操作

    项目环境:ng4.x 写法说明: [attr.data-nurseKey] <div [attr.data-nurseKey]="k.nurseKey"></di ...

  10. python re.findall(rule,data),根据左右边界取值url中参数的值

    import re ''' 取值postid,左边界"postid=",右边界"&" ''' url="http://wwww.baidu.c ...

随机推荐

  1. NBU 还原LINUX ORACLE RAC数据库(CRM)

    CRM集群数据库恢复 linux centos 6.6 oracle 11.2.0.3 集群环境 1.53 oraclea 1.54 oracleb 在linux操作系统root用户下安装好NBUci ...

  2. SQLMAP自动注入(一):sqlmap的简单使用和配合burpsuite使用

    python编写,开源 检测方式 基于布尔的盲注检测 基于时间的盲注检测 基于错误的检测 基于union的检测 基于堆叠的检测 优点 数据库直连 -d cookie过期后自动更新cookie信息 可以 ...

  3. Java8中的[方法引用]“双冒号”——走进Java Lambda(四)

    前面的章节我们提及到过双冒号运算符,双冒号运算就是Java中的[方法引用],[方法引用]的格式是 类名::方法名 注意是方法名哦,后面没有括号“()”哒.为啥不要括号,因为这样的是式子并不代表一定会调 ...

  4. java swing示例

    该范例主要是JFrame(框架)和Jpanel(画板),在Jpanel容器上添加控件,然后再把Jpanel放进JFrame的容器里面. FrameDemo.java import java.awt.D ...

  5. :after伪类+content经典应用举例

    :after伪类+content 清除浮动的影响 .box{padding:10px; background:gray;} .l{float:left;} <div class="bo ...

  6. POJ-1458.CommonSubsequence.(DP:最长公共子序列裸题)

    本题大意:给出两个字符串,让你求出最长公共子序列的长度并输出. 本题思路:本题是经典的DP问题,由于是两个字符串,那么我们就用一个二维数组来进行区分,用dp[ i ][ j ]来表示在s1和s2中分别 ...

  7. RxJS之组合操作符 ( Angular环境 )

    一 merge操作符 把多个 Observables 的值混合到一个 Observable 中 import { Component, OnInit } from '@angular/core'; i ...

  8. vue params和query传参区别

    参考地址:https://blog.csdn.net/bluefish_flying/article/details/81011230 router.js中 路由设置这里, 当你使用params方法传 ...

  9. f5备份与还原

    1.需备份主机和备机的配置 2.1)备份到f5 恢复: 2)备份到本地

  10. java_15 System类

    1.System类 2.System类方法 (1)currentTimeMillis() public static void main(String[] args) { long start = S ...