当数组没有值时的If语句(Javascript+;HTML)

当数组没有值时的If语句(Javascript+;HTML),javascript,html,arrays,if-statement,getelementbyid,Javascript,Html,Arrays,If Statement,Getelementbyid,我有一个输入框,将各种文本存储到一个数组中,它显示在另一个页面上,但我希望该页面在数组中没有值时显示“无事件” 下面是将数组附加到页面的javascript function getEvents(){ //get the localstorage from the new event page events = JSON.parse(localStorage.getItem("events")); for (var i = 0; i < events.length; i++) {

我有一个输入框,将各种文本存储到一个数组中,它显示在另一个页面上,但我希望该页面在数组中没有值时显示“无事件”

下面是将数组附加到页面的javascript

function getEvents(){

//get the localstorage from the new event page
events = JSON.parse(localStorage.getItem("events"));

for (var i = 0; i < events.length; i++)
{

    if (events === "undefined" || null || "") {
        document.getElementById("none").innerHTML = "No events";        
    } else {
    // title output
    var title = document.createElement("h1"); //creates h1 element
    var titleText = document.createTextNode(events[i].name); //assigns title 
text
    title.appendChild(titleText); //appends text to h1
    document.getElementById("output").appendChild(title); //appends to the 
page

    // date output
    var date = document.createElement("p"); //creates p element
    var dateText = document.createTextNode(events[i].date);  //assigns date 
text
    date.appendChild(dateText); //appends text to p
    document.getElementById("output").appendChild(date); //appends to the page
    }
}
}
函数getEvents(){ //从新事件页面获取localstorage events=JSON.parse(localStorage.getItem(“事件”); 对于(var i=0;i 下面是事件加载器页面上的html

<body onload="getEvents()">

    <!-- Title -->
    <center>
        <h1>My Events</h1>
    </center>

    <p id="none"></p>
    <div id="output">
    </div>
</body>

我的事件


您正在数组中循环,因此应该在数组元素而不是数组本身上进行测试。如果没有数组,for循环甚至不会运行。因此,在循环范围内对数组本身运行测试的if基本上没有意义

您可以在进入循环下方之前按此方式继续:

 if (events.length == 0)
 document.getElementById("none").innerHTML = "No events";        
  • 将if语句从for循环中去掉
  • 对OR子句使用正确的语法
  • 正确测试未定义的
  • 同时测试长度==0


如果
事件
数组中没有任何内容,则您的
for
循环将根本不会运行。我认为这就是这里发生的事情。基本上你应该在循环的其他部分循环。如果(events==“undefined”| | | | null | | |“”){document.getElementById(“none”).innerHTML=“No events”}其他{for(){}
if (toString.call(events) == "undefined" || events.length == 0) {
    document.getElementById("none").innerHTML = "No events";        
} else {
    for(){/*...*/}
}