2010-01-20 111 views
0

我想從表中使用Jquery添加和刪除一些行。但我不知道如何刪除新添加的行。如果我有刪除鏈接,它會起作用,但那不是我想要的。我想能夠調用一個js函數來刪除所有項目。從表中刪除動態添加的元素的問題

我試圖遍歷項目,但對於TR的表中的計數始終爲0。

<script src="scripts/jquery-1.3.2.min.js"></script>  
<script language=javascript> 
    function UpdateData() { 
     var dataStructure = new Object(); 
     dataStructure.Start = "Added Start"; 
     $("#table tbody tr:first").remove();   
     InsertDataInToTable(dataStructure);   
    } 

    function InsertDataInToTable(dataStructure) { 
     var newRow = $("#table thead tr:first").clone();   
     newRow.find("td").eq(0).text(dataStructure.Start); 
     newRow.insertAfter("#table tbody"); 
    } 

開始 Inital開始

回答

0

我建議嘗試添加手動DOM元素並使用addClass分配類。然後你知道哪些是被添加的,哪些是你想要刪除的。

然後做$(「。className」)。remove();可能會更清潔。你可以將它們默認爲一個類的'標準',並使用addClass('new')並移除$('。new')。remove();

或者您可以將它們全部分配給.ClassName,並在您準備好時刪除所有類名。

我不建議使用先前的建議在DOM中添加假屬性,如「newLine」,因爲它不是有效的XHTML。如果使用.addClass(),則可以使用驗證的方式輕鬆管理事物。

希望這會有所幫助!

+0

爲什麼新的表格行不被計入DOM中? – 2010-01-20 19:51:11

+0

他們絕對算盤。如果你給他們分配一個班級,你很容易就可以選擇他們。這可能是你調用你的函數的順序。這些函數可能會被調用得太快,並且你的元素還沒有可用。將它們添加到特定的課程會讓你更容易。 – Joshua 2010-01-20 19:52:40

+0

因此,在調用remove()之前檢查'Document.Ready'應該解決問題,對吧? – 2010-01-20 20:36:27

相關問題