2011-09-29 14 views
20

Localstorage ile birlikte çalışan 2 uygulamaya sahibim ve not ve todo ile başlayan tüm anahtarları nasıl silebilirim diye merak ettim. Localstorage.clear() 'ın her şeyi temizlediğini biliyorum ama bu benim amacım değil. İşte HTML5 Localstorage & jQuery: Belirli bir sözcükle başlayan localstorage anahtarlarını sil

benim localStorage ne var bir örnektir: Diğer düğme tıklama jquery kullanarak bir düğmeye tıklama ile tüm NOT- * Tüm todo- * Silmek istediğiniz enter image description here

.

Teşekkür

+1

http://stackoverflow.com/questions/3138564/looping-through-localstorage-in-html5-and-javascript –

cevap

40
Object.keys(localStorage) 
     .forEach(function(key){ 
      if (/^todo-|^note-/.test(key)) { 
       localStorage.removeItem(key); 
      } 
     }); 
+0

o todo-tek silmek görünüyor? Garip – jQuerybeast

+2

RegEx, '/^(?: todo- | note -) /' olmalıdır. '': ', Onu bir şeyleri hızlandıracak, yakalamayan bir grup haline getirecektir. '/^todo- |^not- /' herhangi bir gruplama olmadan da çalışmalı. –

+0

Bu sorun görünmüyor. Sorunun bu uygulamanın kodlamasında olduğunu düşünüyorum çünkü değeri ateş böceğiyle silmeye çalıştım ve yenilediğimde değeri geri aldım. – jQuerybeast

9

sürü ben @Ghostoy benzer bir yöntem kullanıldı ama benim kodunda çeşitli yerlerden diyoruz çünkü bir parametrede beslemek istedi. Parametre adımı normal bir ifadede kullanamadım, bu yüzden bunun yerine alt dizgi kullandım.

function ClearSomeLocalStorage(startsWith) { 
    var myLength = startsWith.length; 

    Object.keys(localStorage) 
     .forEach(function(key){ 
      if (key.substring(0,myLength) == startsWith) { 
       localStorage.removeItem(key); 
      } 
     }); 
}