簡體   English   中英

在Javascript中,如果if語句不返回任何內容,則什么也不做

[英]In Javascript, if the if statement don't return anything, then do nothing

我的網頁上有一個日歷,如果任務中的日期與當前日期匹配,此腳本將添加一個類。 如果我當天有任何工作,這項工作。 但是,如果我不這樣做,它將在此當前腳本以及我網頁上的所有其他腳本上給我一個錯誤,從而使網頁無用。 所以問題是,如果if語句不返回任何內容,我如何使該腳本忽略而什么也不做?

 var d = new Date(2019, 1, 24); var month = d.getMonth() + 1; //.getMonth() is 0-11 var day = d.getDate(); if (day < 10) { day = '0' + dd; } if (month < 10) { month = '0' + month; } var mydivs = document.getElementsByClassName("mydiv"); for(var i = 0; i < mydivs.length; i++) { if (mydivs[i].children[0].innerHTML == `${day}.${month}`) { mydivs[i].className += " today"; } } 
 .today { border: 2px solid red; color: red; } 
 <div class="mydiv"> <span class="date-display-single day" property="dc:date" datatype="xsd:dateTime" content="2019-02-24T11:30:00+01:00">24.02</span> </div> <div class="mydiv"> <span class="date-display-single day" property="dc:date" datatype="xsd:dateTime" content="2019-02-25T11:30:00+01:00">25.02</span> </div> 

您只需要在嘗試訪問[0]子代之前對子代進行長度檢查,否則您將獲得索引超出范圍的錯誤。

 var d = new Date(2019, 1, 24); var month = d.getMonth() + 1; //.getMonth() is 0-11 var day = d.getDate(); if (day < 10) { day = '0' + dd; } if (month < 10) { month = '0' + month; } var mydivs = document.getElementsByClassName("mydiv"); for(var i = 0; i < mydivs.length; i++) { if (mydivs[i].children.length && mydivs[i].children[0].innerHTML == `${day}.${month}`) { mydivs[i].className += " today"; } } 
 .today { border: 2px solid red; color: red; } 
 <div class="mydiv"> </div> <div class="mydiv"> <span class="date-display-single day" property="dc:date" datatype="xsd:dateTime" content="2019-02-24T11:30:00+01:00">24.02</span> </div> <div class="mydiv"> <span class="date-display-single day" property="dc:date" datatype="xsd:dateTime" content="2019-02-25T11:30:00+01:00">25.02</span> </div> 

在我看來,如果將JS代碼的第6行更改為day = '0' + day; ,那么您將沒有問題。 您使用的變量dd不在范圍內初始化。

暫無
暫無

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

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