jQuery html5 localStorage ошибка removeItem - PullRequest
0 голосов
/ 29 марта 2012

Здесь в этом коде:

$('#doneItem').click(function(){
        $(this).each(function(index){
            var item = 'personal' + index;
            alert(item);
            localStorage.removeItem('personal' + index);
            window.location.reload(true);
        });
});

# doneItem - кнопка, и я хочу удалить «personal0» для ex.from localStorage и ... Uncaght TypeError: Невозможно вызвать метод 'removeItem' из неопределенного.Есть идеи ??

1 Ответ

1 голос
/ 29 марта 2012

Не могли бы вы проверить, находится ли элемент в localStorage, прежде чем пытаться удалить его?

if (item in localStorage) localStorage.removeItem(item);  

Я полагаю, вы проверили, что браузер использует localStorage?

EDIT
Вы можете попробовать использовать динамический идентификатор. Это будет соответствовать всем a элементам, которые начинаются с doneItem, а затем получить число в конце переменной index.

    $("a[id^=doneItem]").click(function(){
            var index = $(this).attr("id").replace("doneItem", "");                
            var item = 'personal' + index;
            localStorage.removeItem(item);
            window.location.reload(true);
    });  

Вам также необходимо изменить эту строку и вставить туда i:

document.write("<a data-role=\"button\" id=\"doneItem" + i + "\" data-transition=\"none\" href=\"#showPersonal\" data-icon=\"check\" data-iconpos=\"left\">Done</a>");  

Это будет работать, только если вы также закомментируете код Modernizr. Вы заменяете переменную localalstorage здесь, и я не знаю, почему вы это делаете.

    /*   
    if (Modernizr.localstorage) {
          var localStorage = window.storage;
    } else {
          alert('Your browser does not support local storage!');
    }
    */  

Эта проблема может быть только с jsfiddle , поэтому мне пришлось удалить еще немного кода, но вот несколько работающий пример: http://jsfiddle.net/zr4tg/53/

Это может выглядеть не так, как вы хотите, но должно работать. Дайте мне знать =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...