인쇄용 복잡한 표를 조작해야합니다.jquery performance td replace
내 코드 작동하지만 IE에 10 초 (50 행 테이블)에 대한 실행
어떻게 성능을 향상시킬 수 있습니까?
나는 $(item).html(title)
이 가장 많은 시간을 소비한다는 것을 알았는데, 어떻게 이것을 피할 수 있습니까?
감사
강령
: tblTBLRows.find("td[name=tdTBLTitle]").each(function (i, item) {
var title = "";
if ($(item).find("*[name=iconForApprove]").length > 0) { title += "<b>[" + msgStatusForApprove + "]</b> " }
if ($(item).find("*[name=iconComplete]").length > 0) { title += "<b>[" + msgStatusCompleted + "]</b> " }
title += $(item).find("#contTxtTitle").html();
$(item).html(title).removeClass("tdTBLTitle");
});
HTML : 하나의 행 예 :
<tr>
<td>...</td>
<td name="tdTBLTitle" class="tdTBLTitle txtRight" colid="3">
<table cellspacing="0" cellpadding="0" class="tblTskTitle"><tbody><tr>
<td>
<span class="icon_24 iconVGray" name="iconForApprove" title="..."> </span>
<span class="spacer5"> </span>
</td>
<td class="tdTxtTitle " name="txtTitle">
<a href="..." class="NoLnk">
<div class="contTxtTitle Pointer" id="contTxtTitle">
Title1
</div>
</a>
</td>
<td class="tdDescLast" name="txtDescLast">
<a href="..." class="NoLnk">
<div class="contDescLast Pointer" id="contDescLast">
Title2
</div>
</a>
</td>
</tr></tbody>
</table>
</td>
<td>...</td>
</tr>
@sirmorne는 루프의 비용이 많이 드는 작업으로 들이게 할 문자열에 HTML 결승전을 당신이 검색하는 경우 다음 루프 – kobe
중의 .html 중에서을하지 않습니다 'id'는 어떤 문맥에서도 검색 할 필요가 없습니다. 단순한 것들은 jQuery조차 사용하지 않지만'$ ('# whateverID') '를 호출하는 것이 빠르므로'document.getElementById (' whateverID '). innerHTML'은 텍스트를 더 빨리 반환합니다. – zzzzBov
각 행에 단 하나의 TD 문자열을 만든 다음이를 사용하여 모든 행의 모든 TD를 바꾸는 방법은 알고 있습니까? (데이터가 모든 행에서 다릅니다) – SirMoreno