Выделение строки в JQuery с конкретным содержанием в тд - PullRequest
2 голосов
/ 08 ноября 2011

Пока что я могу получить свой код для выделения конкретного тд, но еще лучше будет выделить всю строку.Кто-нибудь знает как это сделать?

var mySearch = 'No';
$('table tbody tr td:contains("' + mySearch + '")').filter
(function(){
if($.trim($(this).text()) == mySearch)
    $(this).addClass("prequal-status-n");       
}); 

Ответы [ 5 ]

2 голосов
/ 08 ноября 2011

Изменяя $(this).addClass("prequal-status-n") на $(this).closest('tr').addClass("prequal-status-n"), вы можете выбрать всю строку, а не просто ячейку в строке.

Вот jsfiddle использования .closest() для выбора tr родительского тега ячейки: http://jsfiddle.net/jasper/LhbUG/

Примечание: .closest('tr') можно заменить на .parent(), так как прямым родителем тега td является тег tr. Просто помните, что использование .parent() ограничивает ваш селектор $(this) тем, что он является прямым потомком тега tr.

Вот некоторая документация для тебя:

0 голосов
/ 08 ноября 2011

Вы хотите использовать ближайший метод для выбора <tr>, который содержит <td>:

$(this).closest("tr").addClass(...);

Из документации API для closest:

Получить первый элемент, соответствующий селектору, начиная с текущего элемента и продвигаясь вверх по дереву DOM.

0 голосов
/ 08 ноября 2011

Попробуйте

var mySearch = 'No';
$('table tbody tr td:contains("' + mySearch + '")')
                   .parent("tr").addClass("prequal-status-n");
0 голосов
/ 08 ноября 2011

Вы можете использовать closparentest () и найти tr

var mySearch = 'No';
$('table tbody tr td:contains("' + mySearch + '")').filter
(function(){
if($.trim($(this).text()) == mySearch)
    $(this).parent().addClass("prequal-status-n");       
})
0 голосов
/ 08 ноября 2011

Попробуйте что-то вроде этого:

$("td:contains('" + mySearch + "')").closest("tr").toggleClass("prequal-status-n");
...