当数组没有值时的If语句(Javascript+;HTML)
我有一个输入框,将各种文本存储到一个数组中,它显示在另一个页面上,但我希望该页面在数组中没有值时显示“无事件” 下面是将数组附加到页面的javascript当数组没有值时的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++) {
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<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(){/*...*/}
}