DOM兼容-elemen.dataset

//Web前端学习-DOM
//引用:http://blog.csdn.net/qq_21794603/article/details/72732150
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>dataset兼容</title>
</head>
<body>
    <div class="class1" id="id1" data-name="dataname1" data-time="2017" data-account-name="ada" lang="en">
    Hello
    </div>
	<script>
		function dataset (ele) {     
	    	// if(ele.dataset){
		    //     return ele.dataset;
		    // }else{
		        var dataset = {};
		        // 获取标签内的所有属性,以空格分割    
		        var datastr = ele.outerHTML.split(">")[0];
		        console.log("目标属性HTML语句: " + datastr);
		        datastr = datastr.split(" ");
		        console.log("语句分割数组: " + datastr);
		        // 遍历 
		        var value, key, index, char0;       
		        for(var i = 0; i < datastr.length; i++){
		            //正则判断是否以data-开头  
		            console.log("---" + i + "---"); 
		            console.log(datastr[i]);      
		            if(/^data-/.test(datastr[i])){
		                key = datastr[i].split("=")[0].slice(5);
		                console.log("data-属性名:" + key);
				// 添加属性名处理
		                index = key.indexOf("-");
		                while(index > 0){
		                	char0 = key.substring(index + 1, index + 2);
		                	char0 = char0.toUpperCase();
		                	key   = key.replace(/-./, char0);
		                	index = key.indexOf("-");
		                }
		                console.log("data-属性名:" + key); 

		                value =  datastr[i].split("=")[1].slice(1,-1);
		                console.log("data-属性值:" + value); 
		                dataset[key] = value;
		            }
		        }
		        return dataset;
		    // }
		};

		var elem = document.getElementById("id1")
  		elemData = dataset(elem);
  		console.log(elemData);
	</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值