2016-08-05 4 views
0

У меня есть contenteditablediv, который служит в качестве редактора и позволяет пользователям вводить текст и сохранять его под заголовком. Имена названий затем добавляются к отдельному 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 
}) 
+0

пост скрипку? – Viney

ответ

0

использовать это:

localStorage.clear(); 
+0

Просьба представить некоторую информацию о том, почему это ответ. Даже если это может решить проблему, если вы скажете им, ПОЧЕМУ проблема решена, они могут действительно чему-то научиться. – Randy

Смежные вопросы