簡體   English   中英

JavaScript會忽略缺少的DOM元素/事件

[英]JavaScript ignore missing DOM element/event

我正在開發一個新的應用程序,其中不同的頁面具有不同的DOM元素,例如Map page具有特定於地圖的元素,而Message page具有特定於消息的信息。 為了減少請求數量,我將所有腳本組合到一個文件中,並放入頁腳。

但是問題是,當我在“ Map Page ,僅在“ Message page上存在的缺少元素出現錯誤,我相信我很容易錯過一些東西,但我無法弄清楚。

如果您不希望腳本停止運行,則可以使用try and catch。

 
 
 
  
  try{ var test = document.getElementById("someelementthatdontexsist"); alert(test.innerHTML); } catch(err){};
 
  

因此,正如Esko建議的那樣,您需要使用“ if”來檢查您是否在正確的頁面上運行適當的代碼。

樣品:

  var PageName = document.getElementsByTagName('body'); document.getElementById("check_button").addEventListener('click', function () { if (PageName[0].getAttribute('id') == "map_page") { //do map_page things document.getElementById("page_name").innerText = PageName[0].getAttribute('id'); } if (PageName[0].getAttribute('id') == "message_page") { //do message_page things document.getElementById("page_name").innerText = PageName[0].getAttribute('id'); } }); 
 <body id="map_page"> <button id="check_button">Check page</button> <span id="page_name">test </span> </body> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM