MVC 응용 프로그램이 있고 페이지 중 하나가 ajax를 통해 컨트롤러 메서드를 호출 한 다음 많은 수의 테이블 행이있는 부분 뷰를 반환합니다. 전체 테이블은 반환되지 않고 테이블 행만 반환됩니다.기존 행 뒤에 테이블 행 삽입
테이블의 특정 위치에 테이블 행을 추가해야합니다. 행을 추가해야 할 테이블에 대한 참조가 있습니다 (또는 실제로 새 행이 추가 된 후 참조 된 행이 제거됨). jQuery를이를 사용하는 것은 무지 간단 할 것이다 :
$(newRows).insertAfter(tr);
tr.remove();
문제는 newRows의 HTML은 매우 매우 클 수 있다는 것을 내가 꽤 시간이 걸릴 수 있습니다 jQuery를 통해 그들을 삽입 발견했다. 순수한 자바 스크립트를 통해 jQuery없이 행을 삽입하는 것이 훨씬 빠릅니다.
제 문제는 주어진 테이블 행의 뒤 또는 앞에 새 행을 삽입하는 방법을 생각할 수 없다는 것입니다. insertBefore, insertAfter 및 appendTo 메소드를 시도했지만 문제는 newRows 변수가 실제 HTML 노드가 아닌 html 문자열이라는 것입니다. 테이블 행의 html 문자열을 DOM 요소로 변환하지 않고 참조 테이블 행 앞이나 뒤에 html을 삽입하는 방법이 있습니까?
당신은 DOM이 문자열이 아닌 문제 – chrismarx
의 jsfiddle 예를 제공 할 수 있습니다. 왜 제대로 행을 만들지 않는거야? –
"적절하게"상대적입니다. 그것들은 제대로 생성되고 있지만 데이터베이스의 데이터로 채워 져야합니다. 이것은 ASP.NET MVC 응용 프로그램이며 많은 자바 스크립트 및 클라이언트 측 로직을 만드는 "올바르게"구성된 테이블 행을 포함하는 부분 뷰를 반환하는 데 활용하고 있습니다. –