最近在用html5做一个网页小应用,可换背景的那种。用户通过菜单选择自己需要的背景mini视图,然后给网页换装。重新打开该网页能记忆上次的操作。
现在遇到了一个问题,就是在mini视图中,被选中的p会有一个黄色的边框,下次再打开菜单时,我上次选择的 p 会默认有这个边框。给 p 加边框我用的是 addClass 的方式。存储信息我用的是localStorage 。问题来了,localStorage会把存储的数据变成字符串,请问我怎么把字符串变回jq对象,从而能顺利给它加上被选中时状态的class呢?
补充说明:
背景mini视图如下:
部分代码:
//背景颜色初始化部分,成功代码示例。其中,StorageUtil中的方法是封装好的函数,bgColor2是声明并赋值过的变量。 var bgColor = StorageUtil.StorageGetter("bg_color") || bgColor2; Dom.fiction_container.css('background-color', bgColor); //问题代码⬇️ var bgColorContainer = ??????||Dom.bg_color_container_2;//localStorage取出会变成字符串,不知道怎么变对象 bgColorContainer.addClass('bg-container-current');
$.parseHTML貌似不太适合这种情境,因为我取出来的东西是这种样子的$(".bg-container-2 p")
,是个jq选择器的样子。
你存的为啥是代码。。。。非这样的话可以eval,最好存成别的。。。。
可以用JSON.parse()试一下
为什么要存储 HTML 对象 你只要存一个颜色数组或对象数组索引值就行了吧