查找表是否在jquery中具有特定字符串

时间:2012-01-22 21:59:31

标签: javascript jquery

我有一个html表:

Name   Length Description  x
Name1  444    Blabd        x.png
Name2  55     Blabla       x.png
Name3  11     Blaaa        x.png

table id="firsttable" img class="delete"

我有一个值(来自其他表):

var value = $(this).closest('tr').find('td:first').html();

我想在表的第一列中找到该值,并删除具有该值的行的x.png。

类似:(有错误)

$('#firsttable tr td:first:contents("'+value+'")').closest('tr').find('td:last').remove();

1 个答案:

答案 0 :(得分:6)

一些事情:

  • 使用:first-child选择器而非:first
  • 你应该使用:contains而不是:contents(我认为甚至没有:contents()选择器 - 或者可能通过插件)(见注释)
  • .siblings()会找到当前元素的兄弟姐妹,这是第一个TD。您可以传递一个选择器来限制选择,因此传递:last以获得最后一个选择。比回到父母并找到最后一个TD更有意义。
  • 您可以清空最后的TD内容而不是删除td元素(但如果需要,可以将其删除)

以下是代码:

$('#firsttable td:first-child:contains("' + value + '")')
    .siblings(':last')
    .text('');

<强> DEMO

注意:

:contains将在文本节点中搜索包含指定值的id,而不是精确值!因此,如果您执行:contains("1")但是您的TD值为“14”,它也会找到它。如果这是一个问题,您可以使用.filter()

$('#firsttable td:first-child').filter(function() {
        return $(this).text() === value;
    })
    .siblings(':last')
    .text('');

有关详情: