2010-01-20 7 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을 모두 할당하고 준비가되면 해당 클래스 이름을 모두 제거 할 수 있습니다.

올바른 XHTML이 아니기 때문에 "newLine"과 같은 DOM에 가짜 속성을 추가하는 권장 사항을 사용하지 않는 것이 좋습니다. .addClass()를 사용하면 유효한 방식으로 쉽게 관리 할 수 ​​있습니다.

희망이 도움이됩니다.

+0

새 테이블 행이 DOM에서 계산되지 않는 이유는 무엇입니까? –

+0

그들은 확실히 계산됩니다. 수업을 배정하면 쉽게 선택할 수 있습니다. 그것은 당신이 당신의 기능을 부르는 순서 일 것입니다. 함수가 너무 빨리 호출되고 요소가 아직 제공되지 않을 수 있습니다. 특정 클래스에 추가하면 더 쉽게 알 수 있습니다. – Joshua

+0

그래서'remove()'를 호출하기 전에'Document.Ready'를 검사하면 문제를 해결할 수 있습니다. 맞습니까? –

관련 문제