javascript - 選擇一個標簽,給選中的標簽添加類樣式,給同輩元素刪除類樣式
問題描述
單擊一個標簽,給他添加類樣式,同時刪除同輩元素類樣式。
//單擊事件,$('.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>
未點擊時
點擊后 是想點擊的標簽添加演示,把原來標簽的樣式刪除,只留一個樣式
點擊后 想實現的樣子 未實現
問題解答
回答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’);});
