Больше, чем селектор в jquery? - PullRequest
3 голосов
/ 10 января 2010

У меня есть таблица, в которой есть несколько строк.

Вот пример моей таблицы только с меньшим количеством строк таблицы.

<table>
 <tr>
   <td>bob</td>
   <td class="CheckThis">0 </td>
 </tr>
 <tr>
   <td>Jim</td>
   <td class="CheckThis">3</td>
 </tr>
</table>

Теперь я хочу посмотреть на ячейки второй таблицы и получить строки, которые имеют значение больше 0.

Таким образом, в моем примере, приведенном выше, он получит всю строку, содержащую «3», поскольку он больше нуля.

Я не вижу секторов, которые бы превосходили что-либо в jquery, но я мог просто пропустить это.

спасибо

Ответы [ 4 ]

5 голосов
/ 10 января 2010

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

$("tr").filter(function() {
    return parseInt($(this).children("td.CheckThis").text(), 10) > 0;
})

Это выберет каждый элемент TR, имеющий дочерний элемент TD с классом CheckThis , содержание которого больше 0.

4 голосов
/ 10 января 2010

Для этого вы можете использовать функцию filter().

* 1006 Е.Г. *

var tds = $('td.CheckThis').filter(function() {
    return parseInt($(this).text()) > 0;
});

Обновление: после перечитывания вопроса еще раз, вы действительно хотите выбрать tr элементы, содержащие рассматриваемые td, и, следовательно, не только td. В этом случае, пожалуйста, проверьте ответ Гамбо для другого примера кода, который делает это правильно.

0 голосов
/ 10 января 2010
var list = [];
$("table").find("tr td:eq(1):not(:contains('0'))").each(function(i,val){
    list.push($(this).parent()); //add TR
});
0 голосов
/ 10 января 2010

Конечно, GT должен это сделать. Проверьте документы на Селекторы / GT

Редактировать: О, вы говорите о значении в HTML элемента? Вам, вероятно, придется настроить цикл .each с фильтром или чем-то еще. Я проверю это, извините.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...