只要至少有一个子代具有类,jQuery addClass

只要至少有一个子代具有类,jQuery addClass,jquery,html,css,jquery-selectors,addclass,Jquery,Html,Css,Jquery Selectors,Addclass,只要表行的至少一个子代(a.selectable)具有特定的类(selectedLink),我就试图高亮显示该表行。只要行的所有a.selectable元素都具有所提到的类,我就可以突出显示该行,但是如果只有一个a.selectable元素具有selectedLink类,我就无法让它工作,这是我的目标 这里有一个问题:在第二行上,必须单击两个a.selected元素才能突出显示该行,并且我希望它在任何子a.selected元素具有类selectedLink时工作 该表采用以下格式: <ta

只要表行的至少一个子代(
a.selectable
)具有特定的类(
selectedLink
),我就试图高亮显示该表行。只要行的所有
a.selectable
元素都具有所提到的类,我就可以突出显示该行,但是如果只有一个
a.selectable
元素具有
selectedLink
类,我就无法让它工作,这是我的目标

这里有一个问题:在第二行上,必须单击两个
a.selected
元素才能突出显示该行,并且我希望它在任何子
a.selected
元素具有类
selectedLink
时工作

该表采用以下格式:

<table>
    <tr>
        <td><a class="selectable" href="joe@mail.com">Joe</a></td>
        <td>Joes Program</td>
        <td>Date</td>
    </tr>
    <tr>
        <td><a class="selectable" href="jane@mail.com">Jane</a></td>
        <td><a class="selectable" href="janeprogram@mail.com">Jane's Program</a></td>
        <td>Date</td>
    </tr>
</table>

问题在于,与之不同,它返回的是
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');
});

啊,我明白,对
.length
的需求让我感到困惑。
$('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');
});