Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Teedaの重複idを一意にする

よくぶちあたる問題なんだろうな。
ちょっとしたjsで解決できるんだろうけどどこにも書いてない。
やる気ないんだろうな、みんな。
先にこいつを実行とけばbar1,foo1とか連番になってくれるはずです。

new function(){
  var list = document.getElementsByTagName('*');
  var ids = {};
  var dup = {};
  for(var i = 0;i < list.length;i++){
    var node = list[i];
    var id = node.id;
    if(id){
      if(ids[id]){
        ids[id].push(node);        
        if(!dup[id]){
          dup[id] = id;
        }
      }else{
        ids[id] = [node];
      }
    }
  }
  for(var v in dup){
    var dlist = ids[v];
    for(var j = 0;j<dlist.length;j++){
      var id = dlist[j].id;
      dlist[j].id = id+(j+1);
    }
  }
};

うくく。