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

时间:2010-11-16 10:12:00

标签: javascript html css

可以使用javascript完成吗?

5 个答案:

答案 0 :(得分:9)

如果你试图找出多个元素是否共享一个id,使用jQuery你可以$('[id=blah]').length - 这将返回id等于'blah'的所有元素的计数。见the fiddle。如果它大于1,那么你有一个重复的id。

编辑:我在Chrome,FF和IE6中对此进行了测试,所有这些都显示有两个具有相同ID的元素。我同意让多个元素共享一个id非常糟糕,但这段代码确实有用。

答案 1 :(得分:3)

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

if (document.getElementById('theId')) {
}

答案 2 :(得分:3)

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

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
        } 
    }
}

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

相关问题