2012-12-16 71 views
1

我有一張表格,其中包含我想用jQuery刪除的另一個表格。 此表位於原始表格的其中一行,我實際上想要移除該行。 原始表格是一個帶名稱表的jQuery對象。使用jQuery刪除另一個表格中的表格

<table> 
<tbody> 
    <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr> 
     <td colspan="3"> 
      <table> 
       <tbody> 
        <tr> 
         <td></td> 
         <td></td> 
        </tr> 
        <tr> 
         <td></td> 
         <td></td>  
        </tr> 
       </tbody> 
      </table> 
     </td> 
    </tr> 
</tbody></table> 

我試圖像下面的例子4不同的方式,但沒有成功:

if ($(table).is('tr')){ 
    if (('tr').(':has(table)') $('tr').remove(); 
} 

if ($(table, 'tr').has('table')) { 
    $(table).find('table').remove(); 
}; 

if ($(table, 'tr').has('table')) { 
    $('tr').remove(); 
}; 

$(table, 'tr').siblings().children('table').remove(); 

我不知道我是否在正確的軌道或吠叫完全錯了!

任何建議將不勝感激。

+3

也許是一個愚蠢的問題,但你可以不只是添加一個id或一個類到第二個表創建時,並選擇它呢? –

回答

0

這是測試和精細的工作:

http://jsfiddle.net/2JfhA/

$('table').find('table').closest('tr').remove(); 

這是什麼做的:first get the first table和它then find and child table,然後它有這個表remove the closest tr

結帳小提琴。

-1

這將足以

$(table).find('table').parents("tr").eq(0).remove(); 

你不需要任何「如果」,因爲如果沒有嵌套表,沒有什麼可以取下。

+0

OA實際上想要刪除包含表格的行,而不是表格本身... – luiges90

+0

沒有元素:$(table)< - 需要引號 – pbibergal

+0

我認爲table是某些dom元素的作者用途 – BoomyJee

0

這是我想出

​$('table').find('table').parents('tr').remove()​​​; 

jsFiddle

0

給該行的ID,當你創建它,將消除人們更方便後來,使DOM搜索了很多更高效