文章目录

element.dataset能够获取元素的自定义属性,但是低版本的ie不支持,如何在低版本的ie上兼容类似的功能。
下面是我写的一个兼容IE的方法:

html

1
<div id="qwe" data-my="123"></div>

javascript

1
<div id="qwe" data-my="123"></div>

  function getDataSet(elem){
    if(elem.dataset){
      return elem.dataset;
    }
    var datas = {};
    var attrs = elem.attributes;
    var nodeName,nodeNames;
    for(var i = 0,attr;attr = attrs[i];i++){
      nodeName = attr.nodeName;
      if(nodeName.indexOf('data-')!==-1){
        nodeNames = nodeName.slice(5).split("-");
        nodeName = nodeNames[0];
      } else{
        continue;
      }
      for(var j=1;j<nodeNames.length;j++){
        nodeName += nodeNames[j].slice(0,1).toUpperCase + nodeNames[j].slice(1);
      }
      datas[nodeName] = attr.nodeValue;
      return datas;
    }
  }
  document.write(getDataSet(document.getElementById("qwe")).my);
  // 输出:123

文章目录