【问题标题】:Remove table element inside parent TD Jquery删除父 TD Jquery 中的表格元素
【发布时间】:2013-10-10 01:18:12
【问题描述】:

我正在努力使用 jQuery 删除 TD 标记内的表格元素。

这是我的表结构:

<table>
   <tr>
       <td>some data</td>
       <td>
       <table><tr><td>this table inside I want to delete</td></tr></table>
       </td>
   </tr>
</table>

我想在就绪状态函数中使用.remove()函数,但我不知道如何。

【问题讨论】:

    标签: javascript jquery html html-table


    【解决方案1】:

    我想以下方法会起作用:

    $('td table').remove()
    

    基本上是这样说的:

    选择 table ,它是 td 的子代。

    所以无论 td 中有多少表,它都会将它们全部删除。

    使用 id 或类名进一步定义您要选择的内容。

    【讨论】:

    • 这将删除所有包含在 td 中的所有表格元素。
    • 好吧,这就是 OP 要求的!
    • 没问题,但请看看其他答案..因为它们是学习的好方法。
    • 是的,那时我可以使用很多选项。
    • 如果td标签后面有原始文本怎么办?它不会删除上面的另一个表
    【解决方案2】:

    试试这个

    $(document).ready(function(){
         $('td table').remove();
    });
    

    【讨论】:

      【解决方案3】:

      给你的桌子一个这样的ID

      <table>
         <tr>
             <td>some data</td>
             <td>
             <table id="tableId"><tr><td>this table inside I want to delete</td></tr></table>
             </td>
         </tr>
      </table>
      

      然后你就可以准确定位你的选择器了

      $('#tableId').remove()
      

      【讨论】:

        【解决方案4】:

        这会对你有所帮助,这里 eq() 用于定义要删除的 td...

        $('td').eq(0).find('table').remove();
        

        演示here

        【讨论】:

          【解决方案5】:
          $('td > table').remove();
          

          这只会删除父级的直接子级。

          【讨论】:

            【解决方案6】:

            你也可以使用empty

            $('td table').empty();
            

            DEMO

            Difference between using remove and empty

            【讨论】: