繁体   English   中英

检查是否存在具有相同ID的HTML元素

[英]Check if an HTML element with the same id exists

可以使用javascript完成吗?

如果您试图找出是否有多个元素共享一个id,那么使用jQuery可以执行$('[id=blah]').length返回ID等于'的所有元素的计数等等。 小提琴 如果大于1,则您有重复的ID。

编辑:我已经在Chrome,FF和IE6中对此进行了测试,所有这些都表明存在两个具有相同ID的元素。 我同意让多个元素共享一个ID确实是一种不好的形式,但是这段代码确实有效。

另外,为了打印所有重复项:

var elems = document.getElementsByTagName('*');
var num = elems.length;
var ids = [ ];
for(i=0; i<num; i++ ) {
    var id = elems[i].getAttribute('id');
    if(id != null) {
        if(ids.indexOf(id) >=0 ) {
            console.debug(id); // found in table
        } else {
            ids.push(id); // new id found, add it to array
        } 
    }
}

也许(如果我理解这个问题)

if (document.getElementById('theId')) {
}
if(!document.getElementById('search')) { return; }

是的。 通过document.getElementsByTagName('*')进行迭代,使用element.getAttribute('id')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM