如果该行在我的下面的代码中只包含B,我想删除该行?

时间:2012-02-20 09:54:06

标签: jquery

请检查以下代码。如果那行td包含值“B”,我在这里删除该行。但是波纹管代码正在删除所有行。

的jQuery

$(document).ready(function() {
    $("#mytable tr td:contains('B')").parent().remove();
});

HTML

<table border="0" align="center" width="45%" cellpadding="2" cellspacing="2"  id="mytable">
    <tr>
        <td align="center" width="15%">A</td>
        <td align="center" width="15%">B</td>
        <td align="center" width="15%">C</td>
    </tr>
    <tr>
        <td align="center" width="15%">AA</td>
        <td align="center" width="15%">BB</td>
        <td align="center" width="15%">CC</td>
    </tr>
    <tr>
        <td align="center" width="15%">AAA</td>
        <td align="center" width="15%">BBB</td>
        <td align="center" width="15%">CCC</td>
    </tr>
</table>

3 个答案:

答案 0 :(得分:9)

要删除其中tr包含 td

B
var searchString = 'B';
$("#mytable tr td:contains('" + searchString + "')").filter(function() {
  return $(this).text().trim() == searchString;
}).parent().remove();

Example fiddle

仅删除包含td的{​​{1}}:

B将选择器放在parent()上,然后将其移除 - 以及所有tr元素。您无需在此处使用td

parent()

Example fiddle

答案 1 :(得分:1)

Sandeep试试这个。

     $(document).ready(function()
     {
        $("#mytable td").text(function(index, currentText) 
        {
            if(currentText.trim()=='B')
                $(this).parent().remove();
        }); 
    });

答案 2 :(得分:0)

这应该有效。不确定这是否是最好的正则表达式,但它的工作原理。它会删除包含<tr>的{​​{1}} <td>只有一个大写Bhttp://jsfiddle.net/mV4z3/

$('td').filter(function(){ 
    return /^B$/.test($(this).text()); 
}).parent().remove();