这是我正在尝试做的基本前提:
假设您有一个简单的嵌套列表:
<ul>
<li>chevy</li>
<li>dodge</li>
<li id="trucks">ford
<ul>
<li>ranger</li>
<li>f150</li>
<li>f250</li>
</ul>
</li>
<li>kia</li>
</ul>
默认情况下,嵌套的福特菜单选项是隐藏的。单击“ford”链接后,当新页面打开时,带有“ranger”、“f150”和“f250”的嵌套 div 将打开并显示嵌套菜单。
<li>
我的想法是在点击事件上获取 id ,将其localStorage
作为字符串放入,然后在新页面加载时,将 url 子字符串与本地存储字符串进行比较,如果它们匹配,则放置一个类,display: block
然后菜单可见。
这是到目前为止我拥有的 jQuery,但是当我尝试比较两者时,我不断得到“不”,说它们不一样。这是我现在挂断的一件事,似乎无法弄清楚。
//get the id on the div and then store as a string
function storeId() {
$mtv('.features > ul > li > a').click(function() {
var name = $mtv (this).attr('id');
localStorage.setItem( 'name', JSON.stringify(name) );
});
};
//retrieve the storage item and compare to id clicked
function retrieveId() {
localStorage.getItem( 'name' );
var retrieve = localStorage.getItem('name');
var url = window.location.pathname;
var currentUrl = url.substring(url.lastIndexOf('/')+1).replace('.html', '');
if (currentUrl === retrieve ){
alert("yes");
}
else {
alert("no")
}
};
任何帮助是极大的赞赏,
D