我想遍历DOM元素列表(复选框),并一直持续到定义此列表。元素是“ c1r1”,“ c1r2”,“ c1r3”等。一旦我碰到一个未定义的元素,我就停下来。问题似乎是将typeof与DOM元素一起使用。
这是令人反感的代码:
function domIsDefined(idString){
alert(idString);
var isItDefined = (typeof $(idString) != 'undefined');
alert(isItDefined);
return isItDefined;
}
...
for(i=1; domIsDefined('c1r' + i); i++){
if($('c1r' + i).checked==true){
// do stuff
}
}
问题的关键是这一行:
var isItDefined = (typeof $(idString) != 'undefined');
我发现的问题是,无论是否定义了typeof $ {idString)总是返回对象。有什么好的方法可以做这种事情吗?我想我会试一试,并尽早检查.checked属性,但这令人恶心。
最佳答案
function domIsDefined(idString){
return !!document.getElementById(idString);
}