我的页面上有一列button按钮, 点击其中的一个后, 浏览器跳到新页面, 然后会给这个被点击的button添加active属性.并且其他的button去掉active属性.
我的做法是:
$("#my_button a").click(function(e){
$('a.active').removeClass('active'); // 去掉active属性
$(e.target).addClass('active'); // 被点击的button添加active属性
});
问题来了, 上面的删除和添加样式都成功了, 但是由于点击后页面跳转了, 不知道为什么, 所有的样式都恢复默认了(即没点击之前)..
是因为页面跳转的原因吗, 如果是, 那么能够在页面跳转后再执行JS吗?
或者, 是我的做法有问题?
谢谢.
其实你只要按照后端语言的想法给传参就好了...
var Buttons = document.querySelectorAll('#my_button a'),
ActiveButton = location.hash.substr(2) || '';
if(ActiveButton) {Buttons[ActiveButton].classList.additem('active')}
for(var i=0, l=Buttons.length; i<l; i++) {
(function(number) {
Buttons[number].onclick = function(e) {
e.preventDefault();
location.href = this.href+'#!'+number
}
})(i);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。