首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于检查DOM中重复in的JQuery

用于检查DOM中重复in的JQuery
EN

Stack Overflow用户
提问于 2009-01-27 09:24:31
回答 12查看 53.2K关注 0票数 111

我正在用ASP.NET MVC编写应用程序。与传统的ASP.NET相比,您需要更多地负责在生成的页面中创建所有In。ASP.NET会给你一个令人讨厌但唯一的ids。

我想添加一个快速的小jQuery脚本来检查我的文档中是否有重复的ids。它们可以是DIVS、图像、复选框、按钮等的ids。

代码语言:javascript
复制
<div id="pnlMain"> My main panel </div>
<div id="pnlMain"> Oops we accidentally used the same ID </div> 

我正在寻找一个设置和忘记类型的实用程序,它会在我做一些粗心大意的事情时警告我。

是的,我只会在测试期间使用它,而且也欢迎其他的选择(比如firebug插件)。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-02-04 03:32:46

以下命令将在控制台中记录一个警告:

代码语言:javascript
复制
// Warning Duplicate IDs
$('[id]').each(function(){
  var ids = $('[id="'+this.id+'"]');
  if(ids.length>1 && ids[0]==this)
    console.warn('Multiple IDs #'+this.id);
});
票数 221
EN

Stack Overflow用户

发布于 2011-02-11 17:10:11

这个版本稍微快一些,你可以把它复制到一个书签按钮上,使它成为一个书签小程序。

代码语言:javascript
复制
javascript:(function () {
  var ids = {};
  var found = false;
  $('[id]').each(function() {
    if (this.id && ids[this.id]) {
      found = true;
      console.warn('Duplicate ID #'+this.id);
    }
    ids[this.id] = 1;
  });
  if (!found) console.log('No duplicate IDs found');
})();
票数 35
EN

Stack Overflow用户

发布于 2011-03-19 02:15:49

我有一个很大的页面,所以脚本运行太慢,无法完成(多个“继续脚本”消息)。这可以很好地工作。

代码语言:javascript
复制
(function () {
    var elms = document.getElementsByTagName("*"), i, len, ids = {}, id;
    for (i = 0, len = elms.length; i < len; i += 1) {
        id = elms[i].id || null;
        if (id) {
            ids[id] =  ids.hasOwnProperty(id) ? ids[id] +=1 : 0;
        }
    }
    for (id in ids) {
        if (ids.hasOwnProperty(id)) {
            if (ids[id]) {
                console.warn("Multiple IDs #" + id);
            }
        }
    }
}());
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/482763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档