【发布时间】:2017-09-29 08:32:49
【问题描述】:
我有一个输入框,将各种文本存储到一个数组中,它显示在另一个页面上,但是当数组中没有值时,我希望页面显示“无事件”
这是将数组附加到页面的 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
}
}
}
这是事件加载器页面上的 html
<body onload="getEvents()">
<!-- Title -->
<center>
<h1>My Events</h1>
</center>
<p id="none"></p>
<div id="output">
</div>
</body>
【问题讨论】:
-
如果
events数组中没有任何内容,那么您的for循环将根本不会运行。我认为这就是这里发生的事情。 -
基本上你应该在循环的else部分循环。
-
if(events === "undefined" || null || ""){document.getElementById("none").innerHTML = "No events";}else{for(){} }
标签: javascript html arrays if-statement getelementbyid