Выберите специальный индекс со специальным значением атрибута - PullRequest
0 голосов
/ 21 июля 2011

рассмотрите этот код:

<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>

как я могу выбрать строку (TR), содержащую TD с атрибутом (o = 2), который появляется в столбце N ?!

я пробую это, но не работаю:

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

Ответы [ 3 ]

0 голосов
/ 21 июля 2011

Вы можете сделать это в одном селекторе:

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

Используйте nth-child для выбора ячеек с атрибутом o="2" во втором столбце, например:

$("table#list tr td:nth-child(2)[o=2]")..
0 голосов
/ 21 июля 2011

Попробуйте это

$("table#list tr").filter(function(){
  return $(this).find("td:nth-child(1)[o='2']").length > 0;
  //nth-child is indexed from 1
});
0 голосов
/ 21 июля 2011

Попробуйте это:

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

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

...