今天群里提起这事,
判断页面内是否有重复的id
一种是已知id,看是否有重复。基本上Ctrl+F就能搞定~
但是Robin给出了方法:
- function chkid(idname){
- s=0;
- divs = document.getElementsByTagName("*");
- for (i=0; i<divs.length; i++){
- if(divs[i].getAttribute("id")==idname)
- s++;
- }
- alert(s);
- }
而后我又在其基础上修改了能够找出页面内所有重复的Id
- function chkid(){
- var did={},tmpid;
- divs = document.getElementsByTagName("*");
- for (var i=divs.length-1; i+1; i--){
- (tmpid=divs[i].id)
- &&did[tmpid]===undefined
- ?did[tmpid]=0
- :did[tmpid]++;
- }
- for (var i in did) {
- did[i]&&alert("id="+i+"重复了"+(did[i]+1)+"次");
- }
- }
比较可靠,兼容ie和ff。
不过一般的html检查器都有这个功能,这个代码又有多大用处呢?呵呵,感觉没有。

