如何使用localstorage中的数据选择div属性数据

时间:2013-11-01 13:05:01

标签: jquery html

我的localStorage中有一些数据如下:

test="[[bla/bla,Bla BLa],[bla1/bla1,Bla1 BLa1]]"

我有一个包含列表项目(10个列表项目)的div

<li data-1="Bla BLa" data-2="bla/bla"></li>
<li data-1="Bla1 BLa1" data-2="bla1/bla1"></li>
<li data-1="Bla2 BLa2" data-2="bla2/bla2"></li>

现在我需要为列表项添加一个边框,该列表项具有与localStorage中存储的值相同的数据属性,在本例中是前两个。

我该怎么做?我被困在这个。

非常感谢

1 个答案:

答案 0 :(得分:1)

假设您在localStorage中始终使用相同格式的测试字符串,则可以将其直接解析为css选择器http://api.jquery.com/multiple-attribute-selector/

var test="[[bla/bla,Bla BLa],[bla1/bla1,Bla1 BLa1]]", //That comes from storage

    selector = test.substr(2, test.length - 4) //trim [[ ]]
                   .split("],[") //convert to array
                   .map(function(item) { //Convert each pair to a selector
                        item = item.split(",");
                        return "[data-1='" + item[1] + "'][data-2='" + item[0] + "']";
                   }).join(","); //Concat

 var items = $(selector, "#container"); //have fun

http://jsfiddle.net/LNkJB/