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中的16进制字符(改进)
Nov 21 Javascript
js特效,页面下雪的小例子
Jun 17 Javascript
理解JavaScript原型链
Oct 25 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
JavaScript实现自动跳转文本功能
May 25 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
Sep 25 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
基于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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
layui表格数据复选框回显设置方法
2019/09/13 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
个人股份转让协议书范本
2015/01/28 职场文书
单位考核鉴定意见
2015/06/05 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏