2014-04-03 58 views
-1

我想在javascript中刪除一個表格行,但是當該行消失時,表格的第一列變寬,我找不到原因:/。刪除tr加寬其他tds

有人能幫助我嗎?

這裏是我的HTML:

<table id="todos"> 
    <?php foreach ($todos as $row) : ?> 
    <tr todoid="<?php echo $row['id']; ?>"> 
     <td class="isDone"><input type="checkbox" name="done" /></td> 
     <td class="title" <?php if ($row['dueDate'] == null) echo "colspan='2'"; ?>><i class="delete fa fa-trash-o"></i> <?php echo $row['title']; ?></td> 
     <?php if ($row['dueDate'] != null) : ?> 
     <td class="dueDate"><?php echo relativeDate($row['dueDate']); ?></td> 
     <?php else : ?> 
     <td></td> 
     <?php endif; ?> 
    </tr> 
    <?php endforeach; ?> 
</table> 

這裏是我的JS:

$("tr[todoid] td.title .delete").click(deleteTodoHandler); 
    ... 
    function deleteTodoHandler(event) { 
     console.log("deleteTodoHandler"); 
     $(event.target).parents("tr").remove(); 
    } 

謝謝!

+2

可能是因爲其中一個單元格中的內容較大,而現在其他單元格在刪除時正在填充該空白。 – epascarello

回答

0

如果您不指定單元格的寬度,它們將展開以適合內容。

enter image description here

我刪除頂行,其他行調整以來的第二單元並不需要很大的空間,由於大的字符串。

如果您不希望發生移位,您需要設置寬度。

+0

是否可以告訴專欄不要超過其內容? – Jeahel

+0

你可以玩文本溢出或空白換行。 – epascarello

+0

好的問題解決了。我沒有想到如何適應寬度的內容,所以我修好了,但一切正常。謝謝 ! – Jeahel