用js代码检查一个页面上是否用重复的id。

方法一:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>检查有无重复的ID-www.jbxue.com</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>检查有无重复id-www.jbxue.com</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>

最新文章

  1. jq样式方法总结
  2. 多线程下NSOperation、NSBlockOperation、NSInvocationOperation、NSOperationQueue的使用
  3. getDate()返回日期不一致问题引发的bug
  4. Java 并发和多线程(一) Java并发性和多线程介绍[转]
  5. 【流媒体】 Android 实时视频编码—H.264硬编码
  6. PHP 网站保存快捷方式的实现代码
  7. COJ 2135 Day10-例1
  8. Python学习笔记8-类的继承 、深度优先、广度优先
  9. 【Flume NG用户指南】(1)设置
  10. 【BUG】插入或者更新超过限制后写入数据库失败
  11. 注销/etc/passwd带来的系统登陆不上
  12. STM32F4 输入输出(GPIO)模式理解
  13. 使用Web Audio API绘制音波图
  14. sunset
  15. Good Time------打卡让生活更美好
  16. Flutter 布局(三)- FittedBox、AspectRatio、ConstrainedBox详解
  17. Leetcode 29.两数相除 By Python
  18. 微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程
  19. 一些Go操作Kafka的问题
  20. CentOS用户和用户组管理

热门文章

  1. TotalCommander使用方法,如何对图片批量重命名
  2. WebService 与 Socket 区别
  3. PHP表单-PHP $_POST 变量
  4. Hotaru&amp;#39;s problem(hdu5371+Manacher)多校7
  5. 算法笔记_120:蓝桥杯第六届省赛(Java语言B组部分习题)试题解答
  6. ThinkPHP的A方法,R方法,M方法,D方法区别
  7. 解决 $ npm install node-sass --save-dev 失败的问题
  8. jQuery中first-child与first选择器区别
  9. JVM中类的卸载机制
  10. 【Accountancy】资产