点击元素后javascript如何修改class并且刷新后保留样式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击元素后javascript如何修改class并且刷新后保留样式?相关的知识,希望对你有一定的参考价值。

顺序是,点击2后,js会给2的class添加open会展开菜单栏,然后点击1,在跳转到1对应的网页后保留2的class的open样式并且给1的class添加active。我想要这个效果应该怎么写?

不可能的,刷新后样式不会保留  你可以用A标签的 伪类去实现你上面的方法,或者CSS和域名某一项匹配 ,一样的话就终点显示

参考技术A

    这样的效果前端做的话需要局部刷新,例如AJAX,PJAX这样,或者iframe。否则页面跳转走了,效果也变了。

    window.location.pathname才能对比出正确值把。你这样判断要把域名以及协议加进去才能对比出来。光把href拿出来没用的。

    jquery不用去each,click会自动绑定上去。$('.test li a').click()就可以了,所有$('.test li a')都会绑定上click


如果不是PJAX、AJAX和iframe这种处理方式,建议在document.ready的时候把$('.test li a')的判断加进去,当然会有一定的延迟。

Jquery 怎么只给点击的元素加个class

Jquery 怎么只给点击的元素加个class?1:新建一个html文件,命名为test.html,用于讲解jquery如何实现追加元素的同时添加class属性。
2:在test.html文件内,使用p标签创建一行测试的内容,并创建两个空div标签。
3:在test.html文件内,使用button标签创建一个按钮,给button按钮绑定onclick点击事件,当按钮被点击时,执行addPp()函数。
4:在函数内,通过获得p标签对象,使用appendTo方法将p标签追加到div中。
5:在函数内,再使用addClass方法给p标签添加一个class属性。
6:在浏览器打开test.html文件,点击按钮,查看结果。
参考技术A

通过event 

$('#btn').click(function(event)
    event = event || window.event;
    var target = event.srcElement || event.target;
//    target就是你点击的元素
    $(target).addClass('clickstyle');//增加样式
);

本回答被提问者采纳
参考技术B //纯手打,望采纳
$('a').click(function()//给所有的a元素绑点击事件
    $(this).addClass('cls');//获取当前点击的元素$(this) ,并添加class
);

参考技术C $(selector).click(function() $(this).addClass(class) )
selector : 元素
class : class名称

以上是关于点击元素后javascript如何修改class并且刷新后保留样式?的主要内容,如果未能解决你的问题,请参考以下文章

html点击标签后插入 class

jquery如何判断元素是否被点击属性操作class操作

如何从javascript或jquery中的元素数组中删除特定元素

JQ 遍历元素并给相应元素增加class

Javascript 问题,给LI标签添加一个Onclick事件后,如何辨别点击了li中哪个元素?

Jquery 怎么只给点击的元素加个class