Jquery 查找数据属性并添加类
我一直在想办法。我想让用户单击a href,获取该a href的数据属性,然后在DOM中找到与该数据属性匹配的类(它将是一个li,并向其中添加一个活动类) 到目前为止,我已经尝试了100种不同的方法:Jquery 查找数据属性并添加类,jquery,custom-data-attribute,Jquery,Custom Data Attribute,我一直在想办法。我想让用户单击a href,获取该a href的数据属性,然后在DOM中找到与该数据属性匹配的类(它将是一个li,并向其中添加一个活动类) 到目前为止,我已经尝试了100种不同的方法: $('ul li a').click(function(){ $(this).parent().removeClass('active'); var dataitem = $(this).data('item'); $('ul li').find(dataitem).add
$('ul li a').click(function(){
$(this).parent().removeClass('active');
var dataitem = $(this).data('item');
$('ul li').find(dataitem).addClass('active');
console.log(dataitem);
});
HMTL:
-
-
-
.find()
方法允许搜索选择器中指定元素的后代,但在您的情况下,.find()
将不起作用
试试这个:-
$('ul li a').click(function(e){
$('ul li.active').removeClass('active'); //remove '.active' class from all li's
var dataitem = $(this).data('item');
$('ul li.' + dataitem).addClass('active');
e.preventDefault();
});
$(this.parent().removeClass('active');
可能会产生不希望的结果。您可能需要使用$('ul li.active')。removeClass('active')
)或类似的东西。编辑:我个人喜欢这样的东西:$(this.parent().sides().removeClass().removeClass('active');
这太完美了!谢谢!
$('ul li a').click(function(e){
$('ul li.active').removeClass('active'); //remove '.active' class from all li's
var dataitem = $(this).data('item');
$('ul li.' + dataitem).addClass('active');
e.preventDefault();
});