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


Posted in Javascript onJuly 17, 2013

方法一:

<!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>
Javascript 相关文章推荐
jquery div 居中技巧应用介绍
Nov 24 Javascript
javascript中的取反再取反~~没有意义
Apr 06 Javascript
JS实现FLASH幻灯片图片切换效果的方法
Mar 04 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
JSON 数据详解及实例代码分析
Jan 20 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
详解利用 Express 托管静态文件的方法
Sep 18 Javascript
vue2.0 和 animate.css的结合使用
Dec 12 Javascript
vuex的module模块用法示例
Nov 12 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
Electron 调用命令行(cmd)
Sep 23 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 #Javascript
jcrop基本参数一览
Jul 16 #Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 #Javascript
jquery特效 幻灯片效果示例代码
Jul 16 #Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
Jul 16 #Javascript
js判断屏幕分辨率的代码
Jul 16 #Javascript
js 调用父窗口的具体实现代码
Jul 15 #Javascript
You might like
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
理解javascript正则表达式
2016/03/08 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
python算法表示概念扫盲教程
2017/04/13 Python
python 文件操作删除某行的实例
2017/09/04 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
初中物理教学反思
2014/01/14 职场文书
最新创业融资计划书
2014/01/19 职场文书
海飞丝的广告词
2014/03/20 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书