使用特定的data-id </div>更改<div>中所有class =“like”的类

时间:2013-08-26 12:42:32

标签: jquery

我很难改变class=like范围内的所有<div class="h2" data-id="9">范围的类(仅适用于此示例。页面上还有更多)。

我需要这样$('.h2[data-id="9"]'),因为我需要选择特定的div

在这种情况下,如何将所有class的{​​{1}}更改为其他内容。我似乎无处可去。如果你看下面的代码,你会看到我想要实现的目标。

你能帮忙吗?

class=like

我的success: function(data){ // Remove class like, add class no-link $('.like[data-id="'+data+'"]').removeClass('like').addClass('no-like'); //For this example $('.h2[data-id="9"]').siblings().removeClass('like').addClass('grey'); },

<div>

2 个答案:

答案 0 :(得分:1)

试一试:

function classReplace(data,replacementClass) {
        //$('.h2[data-id="' + data + '"]').children('div').children('span[data-sec="' + data + '"]').removeClass('like').addClass(replacementClass);
  $('.h2[data-id="'+ data +'"]').children('div').children('span.like').removeClass('like').addClass(replacementClass);
};

classReplace(9,'hide');

只需传入您要替换的数据ID。

答案 1 :(得分:1)

siblings方法选择所选元素的兄弟元素,目标元素是所选div元素的后代,您应该使用.find()方法:

$('.h2[data-id="'+ data +'"]').find('span.like')
                              .removeClass('like')
                              .addClass('grey');