0
我试图将多个值(标题)存储到单个密钥中。我提示用户首先输入他们的标题,然后将其保存为“标题”。但是,当我输入多个值时,只有一个值被附加到密钥'标题'。另外,它说titles.push不是一个函数。推动数组;将多个值存储到单个密钥中
//get the title from user
var title = prompt("What would you like your title to be?");
localStorage.setItem(title, editElem.innerHTML);
//save the editor contents to local storage based on title
document.getElementById("update").innerHTML = "Edits saved!";
var theDiv = document.getElementById("Contentable");
var content = document.createTextNode(title);
theDiv.appendChild(content);
var br = document.createElement("br");
theDiv.appendChild(br);
//save the all titles in array so you know what documents exist
var titles = localStorage.getItem("titles");
if(titles == null)
titles = new Array();
if(titles.indexOf(title) < 0)
titles.push(title);
localStorage.setItem("titles", titles);
'如果(titles.indexOf(标题)<0)'将永远是一个'新的Array()真' –
决不省略括号,尤其是不好的压痕。它使你的代码不可读 – poe123
'titles'必须是'title.push'的一个数组作为函数。我不认为'localStorage.getItem'返回的内容通常是一个字符串。 - **如果您希望在本地存储中保存JS对象(如HTML),则必须使用'JSON.stringify'。** – evolutionxbox