您的位置:首页技术文章
文章详情页

javascript - 选择一个标签,给选中的标签添加类样式,给同辈元素删除类样式

浏览:34日期:2023-11-11 16:04:04

问题描述

单击一个标签,给他添加类样式,同时删除同辈元素类样式。

//单击事件,$('.user-menu li a').click(function(){

//单击时,给他添加样式,同时遍历同辈元素删除该样式//但是实现不了,是不是我的思路错了$(this).addClass('active').siblings().removeClass('active');

});

//标签,li标签里面有个a标签,初始只有收藏车辆有样式,,不知道为什么显示不出来<ul class='user-menu'><li>收藏车辆</li><li>降价提醒</li><li>浏览记录</li></ul>

未点击时javascript - 选择一个标签,给选中的标签添加类样式,给同辈元素删除类样式

点击后 是想点击的标签添加演示,把原来标签的样式删除,只留一个样式javascript - 选择一个标签,给选中的标签添加类样式,给同辈元素删除类样式

点击后 想实现的样子 未实现javascript - 选择一个标签,给选中的标签添加类样式,给同辈元素删除类样式

问题解答

回答1:

$('.user-menu li a').click(function(){

//先全部干掉$('.user-menu li a').removeClass('active'); //再给this加上$(this).addClass('active');

});我一般是这么用的,同求更好方案;补充:你的选择器选到的是li标签内部的a标签,然后找a标签的同辈元素,是找不到其他li标签下的a标签的。

回答2:

先遍历所有元素,然后给当前的加样式,其他的移除这个样式

回答3:

我的方案:

$(’.user-menu li a’).on(’click.app’, function(){ // 自身加属性 - 同辈移属性 $(this).addClass(’active’).parent() // 退回到父级 li.siblings().removeClass(’active’);});

标签: JavaScript