我正在尝试创建一个JavaScript变量str。 ID idofnet可能不存在,如果我不想要为str取值的话。如果确实存在,我想从ID中提取它。这是我的代码...
function ics214button() {
if (typeof $("idofnet").html() === "undefined") {
var str = prompt("Enter a Log number.");
} else {
var str = $("#idofnet").html().trim();
}
if (str =="") {alert("Sorry no net was selected");}
else {alert ("It worked");}
}
当我知道没有ID = idofnet时进行测试时,会提示您输入日志号。其余代码可以正确执行。
但是,当idofnet确实存在并且包含一个值时,我仍然得到提示,要求输入日志号。该值从未在else条件测试中设置为undefined。
如果idofnet包含一个值,为什么仍要问我,好像它是未定义的? var str将始终是一个数字。
最佳答案
将if条件测试更改为此:
if ( $('#idofnet').length ) {
var str = $("#idofnet").html().trim();
} else {
var str = prompt("Enter a Log number.");
}
解决了问题。