У меня есть contenteditable
div
, который служит в качестве редактора и позволяет пользователям вводить текст и сохранять его под заголовком. Имена названий затем добавляются к отдельному div с идентификатором «Контент», а когда пользователь нажимает на заголовок, его содержимое (текст, введенный пользователем) будет отображаться внутри редактора. Я также добавил кнопку для удаления любых заголовков внутри «Контента», но я не могу понять, как удалить их из localstorage, так как у них нет определенного ключа, назначенного ему. Пока что я смог удалить слова из div, а не фактическое местное хранилище.Как удалить содержимое localstorage без определенного ключа?
var editElem = document.getElementById("editor1");
$(document).ready(function() {
$("#savebtn").click(function() {
var title = prompt("What would you like your title to be?");
localStorage.setItem(title, editElem.innerHTML);
titles = localStorage.getItem("titles");
if (titles == null) {
titles = [];
} else {
titles = JSON.parse(titles);
}
titles.push(title);
localStorage.setItem("titles", JSON.stringify(titles));
var htmlData = "<a onclick=showData('" + title + "')>" + title + "</a><br>";
$("#Contentable").append(htmlData);
var userVersion = editElem.innerHTML;
localStorage.setItem("userEdits", userVersion);
editElem.innerHTML = "";
});
});
function showData(txt) {
editElem.innerHTML = localStorage.getItem(txt);
}
function loadData()
{
var htmlData=localStorage.getItem("titles");
htmlData=htmlData.replace(/\[|\]/g, "");
htmlData=htmlData.replace(/["']/g, "")
htmlData=htmlData.split(",");
var arlength=htmlData.length;
console.log(arlength)
for(num=0;num<arlength;num++)
{
$("#Contentable").append("<a onclick=showData('" + htmlData[num] + "')>" + htmlData[num] + "</a><br>");
}
}
loadData();
var selected;
$("#Contentable a").click(function(){
selected=$("#Contentable a").index(this);
$("#Contentable a").removeClass("selected")
$(this).addClass("selected");
})
$("a").hover(function() {
$(this).css('cursor','pointer');
});
$("#remove").click(function(){
$("#Contentable a:eq("+selected+")").remove();
//Code to remove from localstorage
})
пост скрипку? – Viney