Localstorage: если в предупреждении localalstorage указан идентификатор <li> - PullRequest
1 голос
/ 11 ноября 2011

Я хочу проверить, существует ли идентификатор <li> в локальном хранилище, чтобы предупредить ...

Например, у li есть идентификатор, такой как item-1, item-2, item-3 и т. Д. В localstorage есть значение с именем id , и он получает строку с тем же именем: item -1, пункт-2, пункт-3. Я хочу проверить, когда я нажимаю на li с идентификатором item-2, существует ли этот item-2 в localalstorage, чтобы предупредить об этом.

Это мой HTML:

<ul id="bxs" class="tabs"> 
    <li id="item-1">1</li> 
    <li id="item-2">2</li> 
    <li id="item-3">3</li> 
    <li id="item-4">4</li> 
    <li id="item-5">5</li> 
</ul>
... etc

А вот так выглядит мое местное хранилище:

Key: result

Value: [{"id":"item-1","href":"google.com"},{"id":"item-2","href":"youtube.com"}] 

и т.д.

Я добавляю список следующим образом:

var result = JSON.parse(localStorage.getItem("result"));
if(result != null) {
    for(var i=0;i<result.length;i++) {
        var item = result[i];
        $("#bxs").append($("<li></li>").attr("id", item.id).html(item));

    }
}

и я хочу, когда я нажимаю <li>, чтобы проверить, существует ли их идентификатор как id в localstorage и, соответственно, предупредить. Примерно так:

$("#bxs").on('click', 'li',function() {
// if exists alert('exists') else alert('doesn't exists')   
    });

Я пробовал это, но всегда предупреждает, что его не существует:

var result = JSON.parse(localStorage.getItem("result"));
        if(result != null) {
            for(var i=0;i<result.length;i++) {
                var item = result[i];
                if(item.id != null) {
                    alert('doesnt exists');
                }else {
                    alert('exists');

                }
            }
        }

1 Ответ

3 голосов
/ 11 ноября 2011

вот вы

$("#bxs").on('click', 'li',function() {
    var exists = false
    for(var i=0;i<result.length;i++) {
        var item = result[i];
        if(item.id == $(this).prop("id")) {
            exists = true;
            break;
        }
    }
    if(exists) {
        alert("exists");
    }
    else {
        alert("doesn't exists");
    }
});
...