如何根据类及其数据属性值的组合添加类?

时间:2015-02-27 10:33:47

标签: jquery

我有3个标签,如下所示

<div class="addonsQtyWrap">
   <ul>
      <li data-vendoritemid="703" data-tabid="1" class="tabclcik">Qty-1</li>
      <li data-vendoritemid="703" data-tabid="2" class="tabclcik">Qty-2</li>
      <li data-vendoritemid="703" data-tabid="3" class="tabclcik">Qty-3</li>
   </ul>
</div>

我能够根据tabnumber获取1,2或3这样的标签符号,如何根据tabclcik和data-tabid值为相应的选项卡添加活动

我试过这种方式但是我得到了Uncaught TypeError:无法读取属性&#39; addClass&#39;未定义的

$(this).find('.tabclcik').data('tabid'+tabnumber).addClass('active');
你可以告诉我如何解决这个问题

这是我的小提琴

http://jsfiddle.net/tdzfhzjy/87/

1 个答案:

答案 0 :(得分:3)

您可以使用属性选择器:

$(this).find('.tabclcik[data-tabid="' + tabnumber + '"]').addClass('active');

或者您可以使用filter()

$(this).find('.tabclcik').filter(function() {
    return $(this).data('tabid') == tabnumber;
}).addClass('active');

filter稍快一些,但显然更冗长。