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 相关文章推荐
9个JavaScript评级/投票插件
Jan 18 Javascript
jQuery总体架构的理解分析
Mar 07 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
vue.js中指令Directives详解
Mar 20 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
浅谈如何使用 webpack 优化资源
Oct 20 Javascript
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
angular2 ng2-file-upload上传示例代码
Aug 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
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
JS判断数组那点事
2017/10/10 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
使用Python对微信好友进行数据分析
2018/06/27 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
python实现双色球随机选号
2020/01/01 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
教学个人的自我评价分享
2014/02/16 职场文书
无传销社区工作方案
2014/05/13 职场文书
商场促销活动总结
2014/07/10 职场文书
初二学生评语大全
2014/12/26 职场文书
观看建国大业观后感
2015/06/01 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
详解Python中的进程和线程
2021/06/23 Python