Как скрыть определенный текст в таблице, используя jQuery - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть простая таблица с несколькими текстовыми элементами:

<table>
<tr><td><h3>Foo</h3></td><td>This is Foo</td></tr>
<tr><td><h3>Bar</h3></td><td>This is Bar</td></tr>
</table>

Как скрыть строку, где h3 text = Foo?

Ответы [ 4 ]

4 голосов
/ 01 ноября 2011

Прокрутите каждую строку и проверьте, возвращает ли .text() из <h3> "Foo". Если true, используйте .hide(), чтобы скрыть строку. Если вы хотите удалить узел из дерева, используйте .remove().

$('table tr').each(function(){
    var $this = $(this);
    if ($this.find('h3').text() == 'Foo') $this.hide();
})
1 голос
/ 01 ноября 2011

Если я правильно понимаю, здесь является ссылкой на то, что вы ищете ..

   $('table tr td').find('h3').filter(
   function()
             { 
                return $(this).html().indexOf('Foo') > -1
             }).parents('tr').hide();
0 голосов
/ 01 ноября 2011

Альтернативная версия ответа Роба В., торгуя находкой () для ближайшего ():

$('table tr h3').each(function(){
    var $this = $(this);
    if ($this.text() === 'Foo') {
        $this.closest("tr").hide();
    }
})
0 голосов
/ 01 ноября 2011
$("tr").find("h3:contains('Foo')").closest("tr").hide();

Однако точное совпадение не будет получено.

...