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 相关文章推荐
用JavaScript实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
jquery中通过父级查找进行定位示例
Jun 28 Javascript
js 采用delete实现继承示例代码
May 20 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 Javascript
jQuery实现高亮显示的方法
Mar 10 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
Mar 10 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
vue.config.js常用配置详解
Nov 14 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学习之 认清变量的作用范围
2010/01/26 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
python制作mysql数据迁移脚本
2019/01/01 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
超市采购员岗位职责
2014/02/01 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
行政介绍信范文
2015/05/04 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python