代碼中 var lla = document.getElementById(qwe); 獲取元素,但後續判斷卻用了 obj.style.display (obj 未定義),導致失效。
function xiazai(tt) {
var lla = document.getElementById(qwe); // qwe 應為字符串 "qwe"
var xx = tt;
if (xx == 45) {
alert("1");
obj.style.display = ' '; // 錯誤:obj 未定義,應為 lla
} else {
alert("2");
lla.style.display = 'none';
}
}
function xiazai(tt) {
var lla = document.getElementById("qwe"); // 加引號
var xx = tt;
if (xx == 45) {
alert("1");
lla.style.display = ''; // 修正變量名,空字符串顯示
} else {
alert("2");
lla.style.display = 'none';
}
}
function fangda(its) {
var obj = document.getElementById(its); // 參數直接傳 ID 字符串
if (obj.style.width == '10%') obj.style.width = '100%';
else obj.style.width = '10%';
}
此處變量名一致 (obj),邏輯閉環,故正常。
ReferenceError: obj is not defined。if 斷點處檢查 lla 是否為預期元素。console.log(lla) 確認獲取成功。el, elem, $el)。const/let 避免變量提升導致的誤用。"use strict"; 可捕獲未聲明變量賦值。修正變量名拼寫錯誤,style.display 切換即可正常生效。