我的页面上有一列button按钮,点击其中的一个后,浏览器跳到新页面,然后会给这个被点击的button添加active属性.并且其他的button去掉active属性.我的做法是:$("#my_buttona").click(function(e){$('a.active').removeClass('active');//去掉active属性$(e.target).addClass('active');//被点击的button添加active属性});问题来了,上面的删除和添加样式都成功了,但是由于点击后页面跳转了,不知道为什么,所有的样式都恢复默认了(即没点击之前)..是因为页面跳转的原因吗,如果是,那么能够在页面跳转后再执行JS吗?或者,是我的做法有问题?谢谢.
2 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
其实你只要按照后端语言的想法给传参就好了...varButtons=document.querySelectorAll('#my_buttona'),ActiveButton=location.hash.substr(2)||'';if(ActiveButton){Buttons[ActiveButton].classList.additem('active')}for(vari=0,l=Buttons.length;i(function(number){ Buttons[number].onclick=function(e){e.preventDefault();location.href=this.href+'#!'+number}})(i);}
繁华开满天机
TA贡献1816条经验 获得超4个赞
通过锚点,来传递某些参数是一个可行的做法。btn1 //new.html$(function(){//去掉所有actibe$('.J-all-btn').removeClass('active')//给当前btn加上active$('#'+location.hash.substring(1)).addClass('active')})
添加回答
举报
0/150
提交
取消