我有一个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();
答案 0 :(得分:6)
一些事情:
:first-child
选择器而非:first
。:contains
而不是:contents
(我认为甚至没有:contents()选择器 - 或者可能通过插件)(见注释).siblings()
会找到当前元素的兄弟姐妹,这是第一个TD。您可以传递一个选择器来限制选择,因此传递:last
以获得最后一个选择。比回到父母并找到最后一个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('');
有关详情: