js检查页面上有无重复id的实现代码

  方法一:

  

复制代码 代码如下:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

  <HTML>

  <HEAD>

  <TITLE> New Document </TITLE>

  <script type="text/javascript">

  window.onload = function(){

  var tags = document.getElementsByTagName("*"),

  count = tags.length, time, ret = {}, id;

  time = new Date();

  for(var i = 0; i < count; i++){

  id = tags[i].id;

  if(id){

  if(ret[id]){

  alert(id + "/n用时:" + (new Date() - time));

  return;

  }else{

  ret[id] = true;

  }

  }

  }

  alert("未找到相同ID");

  }

  </script>

  </HEAD>

  <BODY>

  <script type="text/javascript">

  (function(){

  var html = [], rnd = parseInt(Math.random() * 1000);

  for(var i = 0; i < 1000; i++){

  html.push("<div id='a" + i + "'>" + i + "</div>");

  };

  //在随机位置插入一个随机的id

  i = parseInt(Math.random() * 1000);

  html[i] = html[i] + ("<div id='a" + rnd + "'>" + rnd + "</div>");

  document.write(html.join(""));

  })();

  </script>

  </BODY>

  </HTML>

  方法二:

  

复制代码 代码如下:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

  <HTML>

  <HEAD>

  <TITLE> New Document </TITLE>

  <script type="text/javascript">

  function createDiv(){

  var html = [], id;

  for(var i = 0; i < 2000; i++){

  id = "divId" + parseInt(Math.random() * 10000);

  html.push("<div id='" + id + "'>" + id + "</div>");

  }

  document.body.innerHTML = html.join("");

  }

  window.onload = function(){

  createDiv();

  var oID = {} , result = {}, arr = [],

  tags = document.getElementsByTagName("*");

  for(var i = 0, id; i < tags.length; i++){

  id = tags[i].id;

  if(id){

  oID[id] = oID[id] ? oID[id] + 1 : 1;

  if(oID[id] > 1){

  result[id] = id + " " + oID[id]; } } } for(var o in result){

  arr.push(result[o]);

  }

  alert(arr.join("/t"));

  };

  </script>

  </HEAD>

  <BODY>

  </BODY>

  </HTML>