选择具有特殊属性值的特殊索引

时间:2011-07-21 15:20:45

标签: jquery css3 selector

考虑这段代码:

<table border="1" width="100%" id="list">
    <tr>
        <th>name</th>
        <th>age</th>
        <th>city</th>
    </tr>
    <tr>
        <td o="1">aaa</td>
        <td o="2">20</td>
        <td o="3">zzzzzzzz</td>
    </tr>
    <tr>
        <td o="2">hhhhhhh</td>
        <td o="3">55</td>
        <td o="1">aaaaaaa</td>
    </tr>
    <tr>
        <td o="3">qqqqq</td>
        <td o="1">15</td>
        <td o="2">qq</td>
    </tr>
</table>

我如何选择包含TD的ROW(TR),其属性(o = 2)出现在列N 中?!

我尝试这个但不起作用:

$("table#list tr").filter(':has(td:eq(0)[o="2"])')...

3 个答案:

答案 0 :(得分:0)

试试这个:

function getNthChild(n) {
    return $('#list td:eq(' +n + ')[o="2"]').closest('tr');
}

jsfiddle:http://jsfiddle.net/mrchief/Bhtdr/3/

答案 1 :(得分:0)

您可以在单个选择器中执行此操作:

$("table#list tr td:first-child[o=2]")..

使用nth-child在第二列中选择属性为o="2"的单元格,例如:

$("table#list tr td:nth-child(2)[o=2]")..

答案 2 :(得分:0)

试试这个

$("table#list tr").filter(function(){
  return $(this).find("td:nth-child(1)[o='2']").length > 0;
  //nth-child is indexed from 1
});