jQuery addClass只要至少有一个后代有类

时间:2014-07-08 17:51:28

标签: jquery html css jquery-selectors addclass

我正在尝试突出显示一个表行,只要其后代中的至少一个(a.selectable)具有特定的类(selectedLink)。只要所有a.selectable个元素都有提到的类,我就会突出显示该行,但如果只有一个a.selectable元素具有{{},则无法使其生效1}} class ,这是我的目标。

这是问题的一个方面:http://jsfiddle.net/Ly4WL/51/在第二行,必须单击两个selectedLink元素才能突出显示该行,如果有任何后代{我希望它可以工作{ {1}}个元素具有类a.selectable

该表格遵循以下格式:

a.selectable

要突出显示单元格和行,我正在使用此jQuery:

selectedLink

1 个答案:

答案 0 :(得分:0)

问题是,与is()不同,.has()会返回jQuery个对象(不是布尔),因此您需要检查它长度

$('a.selectable').click(function (event) {
    event.preventDefault();
    $(this).toggleClass('selectedLink');
    if ($(this).closest('tr').has('a.selectedLink').length)
      $(this).closest('tr').addClass('selectedRow');
    else
      $(this).closest('tr').removeClass('selectedRow');
});

Demo