7
테이블에 행을 추가하는 데 선호되는 방법은 무엇입니까?insertRow 대 appendChild
var tr = tbl.insertRow (-1);
또는
VAR의 TR = document.createElement ("TR"); tbl.appendChild (tr);
?
테이블에 행을 추가하는 데 선호되는 방법은 무엇입니까?insertRow 대 appendChild
var tr = tbl.insertRow (-1);
또는
VAR의 TR = document.createElement ("TR"); tbl.appendChild (tr);
?
insertRow
이 훨씬 우수합니다. 등급 A 브라우저는 supported이며 덜 깔끔하고 API가 더 좋습니다.
또한 행은 항상 테이블의 하위 항목이 아니므로 appendChild 메서드가 더 복잡해집니다. –
@rex : 무슨 뜻인가요? – erikkallen
insertRow
은 DOM [1]이므로 더 신뢰할 수 있다고 주장 될 수 있습니다. (더를 외부 DOM의를 작동 할 때,하지만, 문서 내에서 테이블을 수정하려고 할 때는
appendChild
방법은 지속적으로 빠르게 (소폭이기는하지만) 모든 테스트 브라우저 (IE6/7, FF3, Chrome2, Opera9) 맞은 편 일반적인 노력) 은 상당히 느립니다..다른 말로하면 : 확실히
insertRow
을 사용하십시오.이 테스트는 신뢰할 수 없습니다 로컬 그래서 수행 하였다, 여기에 소스 참조 : 당신이 DOM 메소드를 사용한다면 http://pastie.org/482023
출처
2009-05-18 20:28:54 James
, 그럴 필요가 TBODY, THEAD, 또는 TFOOT 요소에 추가되어야한다, 테이블 요소가 아닙니다.
출처
2009-05-18 22:19:52 kennebec
insertRow에 대한 좋은 인수가 있지만 단점이 있습니다. insertRow는 새로운 빈 행을 만들 수 있지만 appendChild는 기존 행 개체를 사용합니다. appendChild를 사용하면 테이블에서 행을 이동하거나 한 테이블에서 다른 테이블로 행을 이동하거나 테이블에서 행을 가져 와서 나중에 다시 넣을 수 있습니다 (페이징 된 테이블의 경우 매우 편리합니다). insertRow (및 insertCell)와 동일한 작업을 수행하려면 내용을 패키지로 만들고 새 행과 셀을 만든 다음 이전 내용을 새 셀에 추가해야합니다. 서투른, 겉으로는 덜 효율적. 이것을하는 더 우아한 방법이 있습니까? 기존의 행 객체를 사용하는 insertRow의 변형은 좋을 것입니다.
출처
2010-09-17 01:07:10 Andrew
관련 문제