+ -
当前位置:首页 → 问答吧 → jquery如何判断没有重复的ID

jquery如何判断没有重复的ID

时间:2009-09-30

来源:互联网

比如有下面一段代码:

<div id="1">abc</div>
<div id="2">abc</div>
<div id="3">abc</div>
<div id="1">abc</div>
<div id="2">abc</div>

出现了ID重复的现象,请问怎么用jquery来检查这种错误,用alert提醒我一个。

作者: shgen   发布时间: 2009-09-30

試看看
复制代码
  1. <script type="text/javascript">
  2.     $(function(){
  3.         var _repeat = [];
  4.         var _element = $("*");
  5.         _element.each(function(i, ele){
  6.             _element.each(function(j, elem){
  7.                 // push elem or attr:id
  8.                 if(i>j && !!elem.id && elem.id==ele.id) _repeat.push(elem.id);
  9.             });
  10.         });
  11.         
  12.         // repeat Element
  13.         if(_repeat.length>0){
  14.             alert("ID:" + _repeat + " repeat");
  15.             for(var i=0;i<_repeat.length;i++){
  16.                 $("*[id=" +_repeat[i]+"]").css("backgroundColor", color());
  17.             }
  18.         }
  19.     });
  20.     function color(){
  21.         return '#'+rand16()+rand16()+rand16();
  22.     }
  23.     function rand16(){
  24.         return (Math.floor(Math.random()*148).toString(16)+Math.floor(Math.random()*9).toString(16)).substring(0,2);
  25.     }
  26. </script>
  27. <body>
  28.     <div id="1">abc</div>
  29.     <div id="2">abc</div>
  30.     <div id="3">abc</div>
  31.     <div id="1">abc</div>
  32.     <div id="2">abc</div>
  33. </body>

作者: getcase   发布时间: 2009-09-30

试试这段?
复制代码
  1. function chkid(){
  2.     var did={},tmpid;
  3.     divs = document.getElementsByTagName("*");
  4.     for (var i=divs.length-1; i+1; i--){
  5.         (tmpid=divs[i].id)
  6.             &&did[tmpid]===undefined
  7.                 ?did[tmpid]=0
  8.                 :did[tmpid]++;
  9.     }
  10.     for (var i in did) {
  11.         did[i]&&alert("id="+i+"重复了"+(did[i]+1)+"次");
  12.     }
  13. }

作者: shawphy   发布时间: 2009-09-30

没有看懂呀

作者: shgen   发布时间: 2009-09-30

相关阅读 更多