일부 자바 스크립트 템플릿 엔진을 사용하여 수동으로 요소를 추가하거나 innerHTML 문자열을 작성하는 것을 피할 수 있습니다. 예 : http://ejohn.org/blog/javascript-micro-templating.
<script type="text/html" id="user_rows_tpl">
<% for(var y = 0, l = users.length; l > y; y++) { %>
<tr id="user-row-<%=y%>">
<td><%=users[y].name%></td>
<td><%=users[y].surname%></td>
<td><%=users[y].age%></td>
</tr>
<% } %>
</script>
그리고 당신이 당신의 개체를 렌더링하기 위해 자바 스크립트에서이 템플릿을 사용하는 : 시험에 대한
<script type="text/javascript">
var table = document.getElementById("userTable");
table.innerHTML = tmpl("user_rows_tpl", {
users: getUsers()
});
</script>
을
당신이 당신의
HTML 어딘가에 템플릿을 말해봐 1000 개의 사용자 개체를 만들어 테이블에 렌더링했습니다.
평균 렌더링 시간은 Google 크롬에서 약 20-25ms입니다. 나쁘지 않은가요? 데이터
DEMO
어떤 형식 경우입니까? JSON? 이 경우 JavaScript 템플릿 엔진 (예 : Handlebars)을 사용하여 전체 HTML 문자열을 만든 다음 해당 문자열을 DOM에 한 번에 추가하는 것이 좋습니다. –
이것을 확인하십시오 [링크] (http://stackoverflow.com/questions/429174/posest-to-add-large-amount-of-dom-nodes-without-browser-choking) –
노드를 준비 할 수 있습니다. DocumentFragment를 추가 한 다음 한 번 추가합니다. 브라우저가 단편 생성 중에 차단해야한다고 생각하지 않습니다. – jimp