jquery过滤器选择器不匹配

ark*_*cha 0 jquery filter selector

我对一个我无法找到问题的简单问题感到沮丧:

我想通过查找由于不同标准而被标记为"已过滤"的任何单元格来过滤表格中的行.因此,最后一行过滤类型"选择"过滤的单元格以确定是否要过滤包含的行.

这是一个简单的例子:

HTML:

<table>   <tbody>
    <tr class="">
        <td class=""><span>1-1</span></td>
        <td class=""><span>1-2</span></td>
        <td class=""><span>1-3</span></td>      
    </tr>
    <tr class="">
        <td class=""><span>2-1</span></td>
        <td class="filtered"><span>2-2</span></td>
        <td class="filtered"><span>2-3</span></td>      
    </tr>
    <tr class="">
        <td class=""><span>3-1</span></td>
        <td class="filtered"><span>3-2</span></td>
        <td class=""><span>3-3</span></td>      
    </tr>   </tbody> </table>
Run Code Online (Sandbox Code Playgroud)

CSS:

table { margin: 20px; }
td { padding:4px; }
td span { background-color: silver; }
tr.filtered { display:none; }?
Run Code Online (Sandbox Code Playgroud)

JS/jQuery的:

$('table tbody tr').filter('td.filtered').addClass('filtered');
Run Code Online (Sandbox Code Playgroud)

我为此准备了一个小提琴手:http: //jsfiddle.net/dtsZX/3/

我希望第2行和第3行能够添加"过滤"类,从而被隐藏.然而,这不起作用.jquery命令有什么问题?

pim*_*vdb 5

你想要:has:

$('table tbody tr:has(td.filtered)').addClass('filtered');
Run Code Online (Sandbox Code Playgroud)

trš自己永远无法匹配td!相反,您希望过滤具有后代的tr s .td