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写的简单的计算器,内容很多,方法实用,推荐
Dec 29 Javascript
javascript suggest效果 自动完成实现代码分享
Feb 17 Javascript
JavaScript在XHTML中的用法详解
Apr 11 Javascript
一些老手都不一定知道的JavaScript技巧
May 06 Javascript
javascript实现动态导入js与css等静态资源文件的方法
Jul 25 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
JavaScript中匿名函数的用法及优缺点详解
Jun 01 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
js判断传入时间和当前时间大小实例(超简单)
Jan 11 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
Dec 31 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常用设计模式之委托设计模式
2016/02/13 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
使用python实现个性化词云的方法
2017/06/16 Python
Python 多线程的实例详解
2017/09/07 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
python实现简单五子棋游戏
2019/06/18 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
Django Form常用功能及代码示例
2020/10/13 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
税务干部鉴定材料
2014/02/11 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
建议书怎么写
2014/03/12 职场文书
新文化运动的口号
2014/06/21 职场文书
群众路线个人整改措施
2014/10/24 职场文书
党员个人年度总结
2015/02/14 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
超市采购员岗位职责
2015/04/07 职场文书
检讨书怎么写?
2019/06/21 职场文书
pt-archiver 主键自增
2022/04/26 MySQL
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers