单击li
项目后。我将active
属性设置为css类,但是li
具有链接以转发另一个页面。活跃的CSS消失了吗?这该怎么做?我已使用localstorage来缓存我以前选择的li项目。我找不到任何解决方案。刷新后如何进行 Activity 类(class)设置?页面刷新后如何设置 Activity 类?
<script type="text/javascript">
$(document).ready(function () {
$("li").click(function () {
var id = $(this).attr("id");
console.log(id);
var selectedolditem = localStorage.getItem('selectedolditem');
if (selectedolditem != null) {
$('#' + selectedolditem).siblings().find("active").removeClass("active");
$('#' + selectedolditem).addClass("active");
localStorage.clear();
return;
}
$('#'+id).siblings().find("active").removeClass("active");
$('#' + id).addClass("active");
localStorage.setItem("selectedolditem", id);
});
});
最佳答案
您的代码存在问题,您尝试通过onclick检索它。那是错误的逻辑。正确的逻辑是:加载页面时,对其进行检索。单击li
后,将其存储。使用find("active")
时也会遇到问题,您需要使用类字符.
,否则它将搜索标签名称为active
而不是该类的元素。
$(document).ready(function () {
$("li").click(function () {
var id = $(this).attr("id");
$('#' + id).siblings().find(".active").removeClass("active");
// ^ you forgot this
$('#' + id).addClass("active");
localStorage.setItem("selectedolditem", id);
});
var selectedolditem = localStorage.getItem('selectedolditem');
if (selectedolditem != null) {
$('#' + selectedolditem).siblings().find(".active").removeClass("active");
// ^ you forgot this
$('#' + selectedolditem).addClass("active");
}
});
关于javascript - 刷新页面后如何使<li>添加CSS类事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17295024/