js 检查页面重复id的简单示例

用js代码检查一个页面上是否用重复的id。
方法一: 经测试代码如下:


<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>
<HTML>
<HEAD>
<TITLE>检查有无重复的ID-WWW.jb51.cc</TITLE>
<script type=text/javascript>
/**
 * 检查有无重复的ID
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
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>
// 来自:编程之家 jb51.cc(jb51.cc) 
方法二: 经测试代码如下:

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>
<HTML>
<HEAD>
<TITLE>检查有无重复id</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>
// 来自:编程之家 jb51.cc(jb51.cc) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)