javascript - 页面重新加载后,菜单事件状态仍保留在单击的链接上

标签 javascript jquery html

我的菜单出现问题。我希望事件状态保留在上次单击的链接上。

<ul id="nav">
    <li class="active"><a href="?field1="2"&field2="test">products </a></li>
    <li><a href="?field1="3"&field2="test2">products2 </a></li>
</ul>

当我单击 products2 时,右侧的表格将填充 url 中字段的数据库,这将刷新页面。我怎样才能保持点击的链接具有事件类?

最佳答案

以下内容应该有效:

var qs = decodeURIComponent(location.search);
$('a[href="' + qs + '"]').parents('li').addClass('active');

location.search 中,您将找到附加到您的 URL 后的查询字符串。

decodeURIComponent 将解码您的 URL,从而避免例如%20 表示空格。

$('a[href="' + qs + '"]') 选择具有 hrefa 标记- 与您的查询字符串相对应的属性。

但我建议从 href 内的 url 参数中删除额外的 ":

<ul id="nav">
    <li class="active"><a href="?field1=2&field2=test">products </a></li>
    <li><a href="?field1=3&field2=test2">products2 </a></li>
</ul>

如果您无法删除引号,则必须将其转义才能使属性选择器正常工作。

<小时/>

引用

location.search

decodeURIComponent

jQuery attribute selector

.parents()

.addClass()

关于javascript - 页面重新加载后,菜单事件状态仍保留在单击的链接上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33408159/

相关文章:

javascript - 如何构建自定义 jquery ui 文件

javascript - 使用方法参数动态添加和复制元素

html - 仅当高度低于固定元素时才在固定元素上滚动条

javascript - 如何获取Session Waring的默认值?

php - 尝试用 Javascript 填充字段,由 PHP 回显

javascript - Vue ChartJS/legacy-更改图例位置

javascript - 列表过滤器。未找到匹配项的条件。如何?

javascript - 使用 jQuery,如何将信息存储在动态创建的 div 中?

javascript - 如果选择框不为空,则属性更改

javascript - 如何使用两个单选按钮显示隐藏两个文本框