我的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中存储的值相同的数据属性,在本例中是前两个。
我该怎么做?我被困在这个。
非常感谢
答案 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