Селектор jQuery: поиск ячейки таблицы на основе содержимого - PullRequest
6 голосов
/ 03 ноября 2010

Я пытаюсь выбрать ячейку таблицы, которая содержит определенный текст, но пока не может выяснить, как она работает: У меня есть этот код - но не работает:

var td = $("td:contains('MyCell')",tbl);

Есть идеи, что не так?

Ответы [ 4 ]

8 голосов
/ 03 ноября 2010

Пример кода ниже работал для меня. Надеюсь, это поможет ....

 <script type="text/javascript">
function getCell( cell )
{
    var cell || '';
    var result = $('tr').find('td:contains('+cell+')');

    alert( $(result).text() );
}

 <body onload="javascript:getCell('cell 4');">

 <table width="30" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td>cell 1</td>
    <td>cell 2</td>
    <td>cell 3</td>
</tr>
<tr>
    <td>cell 4</td>
    <td>cell 5</td>
    <td>cell 6</td>
</tr>
<tr>
    <td>cell 7</td>
    <td>cell 8</td>
    <td>cell 9</td>
</tr>
 </table>


 </body>
3 голосов
/ 03 ноября 2010

Возможно вместо второго параметра tbl

var td = $("#mySpecificTable td:contains('MyCell')");
0 голосов
/ 03 ноября 2010

ты пробовал без ''? как в

var td = $("td:contains(MyCell)",tbl);
0 голосов
/ 03 ноября 2010

Просто чтобы убедиться, что «MyCell» находится внутри ячейки, а не ее имя класса или атрибут <td>, верно?

Другая возможность заключается в том, что селектор :contains() чувствителен к регистру, поэтому, если содержимое «myCell», селектор его не найдет.

...