首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript getElementById 回傳 null 不會拋錯:首行檢查多餘

     編輯:程式設計綜合問答

程式碼首行 if (!document.getElementById(id)) return; 旨在檢查元素是否存在,實則**多餘**。

行為差異

方法元素存在元素不存在
document.getElementById(id)回傳 Element回傳 null (不拋錯)
document.querySelector(selector)回傳 Element回傳 null
document.getElementsByClassName(cls)[0]回傳 Element回傳 undefined (存取 [0])

正確防禦寫法

const el = document.getElementById(id);
if (!el) return; // 這裡檢查才有意義
el.style.color = 'red'; // 後續安全使用
  • 先存入變數,再判斷 null,避免重複查詢 DOM。
  • 若直接 document.getElementById(id).style... 且元素不存在 → TypeError: Cannot read property 'style' of null。

結論:**getElementById 找不到回傳 null,不會報錯;首行獨立檢查屬多餘,合併至變數宣告即可。**

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved