2017-01-09 4 views
0

Я хочу, чтобы иметь возможность удалить значение, но не ключ из локального хранилища, любой ключ?storage.removeItem - как бы я использовал его для удаления нескольких элементов из значения, а не из ключа

$(".delete").on("click", function() { 
    localStorage.removeItem('Property'); 
}); 
+0

Установить значение в пустую строку? (Пустая строка * является * еще значением, но 'localStorage' хранит только строки.) – nnnnnn

+0

Возможно, попробуйте ввести нижнее значение 'property' –

+0

. Ответьте на этот вопрос: http://stackoverflow.com/questions/7591893/html5-localstorage -jquery-delete-localstorage-keys-start-with-a-defined-wo – rahulsm

ответ

1

Попробуйте использовать setItem() и установите значение как null или blank как,

$(".delete").on("click", function() { 
    localStorage.setItem('Property',""); 
}); 

Изменено согласно @qutz комментарий, если у вас есть несколько элементов, то сначала вам нужно хранить значения в JSON, тогда вы сможете разобрать и соединить, чтобы удалить один элемент, например

$(".delete").on("click", function() { 
    var ar = JSON.parse(localStorage.getItem("Property")), 
    item='color';// let we wants to remove color property from json array 
    var index = ar.indexOf(item); 
    if (index > -1) { // if color property found 
     ar.splice(index, 1);// then remove it 
    } 
    // again set the property without having color 
    localStorage.setItem("Property", JSON.stringify(ar)); 
}); 

Надеюсь, это поможет вам, возможно, потребуются некоторые изменения в соответствии с вашей логикой и методом, которые вы использовали для этого.

+0

это несколько работает, я забыл сказать, что у меня есть несколько значений – qudz

+0

@qudz - Вы имеете в виду несколько * элементов *? Пожалуйста, обновите свой вопрос, чтобы лучше объяснить ситуацию. – nnnnnn

+0

Да, мое плохое. Я хотел сказать, что у него несколько элементов. – qudz