如何从表中删除列中没有特定文本的所有行?
这不起作用:
$('#mytable').find('tr:not(:has(th))').filter(
function() {
return $(this).find('td').text() != $("#some_component").val();
}).remove();
}
更新
发布的答案对我不起作用。他们要么删除所有行(我需要检查特定行中的文本,而不是第一行或任何行),要么什么都不做。
以下是我第一次尝试的修改,但仍然有效
$('#mytable').find('tr:not(:has(th))').filter(
function() {
return ($(this).find('td').text().indexOf($("#some_component").val()) < 0);
}
).remove();
最佳答案
HTML:
<table id="myTable">
<tr>
<td>Example One</td>
<td>Example Two</td>
<td>Example Three</td>
</tr>
<tr>
<td>Test One</td>
<td>Test Two</td>
<td>Test Three</td>
</tr>
<tr>
<td>Trial One</td>
<td>Trial Two</td>
<td>Trial Three</td>
</tr>
</table>
JavaScript jQuery(如果包含):
$(document).ready( function() {
$('#myTable td:contains("Test")').parents("tr").remove();
});
JavaScript jQuery(如果不包含):
$(document).ready( function() {
$('#myTable td').not(':contains("Test")').parents("tr").remove();
});
JSFiddle:http://jsfiddle.net/22QKM/
关于javascript - 删除表中不包含特定文本字符串的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401303/