我有以下代码来检查项目列表中是否存在对象。
出于测试目的,我只有一个对象 sub_total_0
,但是脚本一直循环,因为 typeof
无法确定 sub_total_1
是否未定义或不存在,并保持去 2,3,4,5,...
var i = 0;
while (typeof document.getElementById("sub_total_" + i) != "undefined") {
var obj_sub_total = document.getElementById("sub_total_" + i);
if (obj_sub_total != "undefined") {
if (fr.order_method_id.value == 1) {
obj_sub_total.style.visibility = "visible";
} else {
obj_sub_total.style.visibility = "hidden";
}
}
i++;
}
最佳答案
你有
typeof document.getElementById("sub_total_" + i) != "undefined"
和
if (obj_sub_total != "undefined") {
getElementById
返回 null
或 HTML 元素。这些都不是字符串 "undefined"
并且它们的类型都是 "object"
。因此,您的条件没有意义。
您改为测试真实性。 HTML 元素始终为真,null
始终为假。
while (document.getElementById("sub_total_" + i)) {
和
if (obj_sub_total) {
关于javascript 检查对象是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367480/