这个能用JavaScript实现吗?
这个能用JavaScript实现吗?
$('[id=blah]').length
- 这将返回所有id等于'blah'的元素数量。请参见示例。如果数量大于1,则存在重复的id。
编辑:我已在Chrome、FF和IE6中测试过这个方法,它们都显示有两个具有相同id的元素。我同意共享一个id不是好习惯,但这段代码确实有效。if (document.getElementById('theId')) {
}
此外,为了打印出所有的重复项:
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
}
}
}
是的,它是。
通过 document.getElementsByTagName('*')
进行迭代,使用 element.getAttribute('id')
if(!document.getElementById('search')) { return; }