У меня есть приложение, которое выполняет этот кусок кода (JQuery 1.4.2) на странице ASPX для каждого элемента в таблице HTML (500x)
$(".ArtRow_" + artId).each(function () {
if ($(this).find(".ArtOpen_" + artId).length <= 0) return;
.... };
, пропуская строку с find
, делаетэта страница загружается нормально, но с поиском:
- firefox & chrome: + - 3 сек
- в IE9: + - 42 сек (при использовании 50% ЦП на двухъядерном процессоре)
Я делал профиль в IE, и 95% времени IE выполняет функцию CLASS
(стек вызовов: find.f.filter.CLASS
)
Я пытался
- с использованием идентификатора с находкой
- конкатенация искомой строки с использованием фиксированного класса
безрезультатно (42 с)
Кто-нибудь знает?Заранее спасибо!
edit: Теперь я убежден, что каждый занимает так много времени.Я пропустил его, потому что с пустым блоком кода загрузка не заняла 42 с.Но с некоторыми комментариями, это заняло 42 секунды, так что я думаю, что это было не очень умное обнаружение мертвого кода.
по явному запросу: HTML-код, в котором живет ArtRow
<tbody>
<tr class="SB_ReceptielijstHeader">
<th>Artikel / Bestelling</th>
<th>Besteldatum</th>
<th>Pr. School</th>
<th>Pr. Levering</th>
<th class="Number">Aantal besteld</th>
<th class="Number">Aantal ontvangen</th>
</tr>
<tr class="SB_ReceptielijstArtikelHeader ArtRow_132109">
<td id="Titel_132109" class="Artikel" colspan="5">
<img src="images/SB/Icons/23-book.png" style="vertical-align:middle"> 9789030170433 - NANO 1</td>
<td class="Number ArtikelTotal">
<input type="hidden" value="132109" class="Artikel_Id">
<input type="hidden" value="" id="ArtLevLn_132109">
<input type="text" value="12" style="text-align:right" size="4" id="Aantal_132109" name="Aantal_132109" maxlength="4">
</td>
</tr>
<tr class="SB_ReceptielijstRow ArtRow_132109 ArtRowInvisible">
<td>Bestelling 81 / Lijn </td>
<td>02/07/2010</td>
<td>24,05</td>
<td>22,85</td>
<td class="ArtOpen_132109 Number">
</td>
<td id="ArtToew__132109" class="ArtToew ArtToew_132109 Number">
<div style="display:none" class="ArtBestLn">
<input type="hidden" value="">
</div>
<input type="text" style="text-align:right" size="4" id="Aantal_" name="Aantal_" maxlength="4">
</td>
</tr>
<tr class="SB_ReceptielijstArtikelHeader ArtRow_134399">
<td id="Titel_134399" class="Artikel" colspan="5">
<img src="images/SB/Icons/23-book.png" style="vertical-align:middle"> 9789045533322 - HANDELWIJS 3 INCL CDROM HERWERKT 2010</td>
<td class="Number ArtikelTotal">
<input type="hidden" value="134399" class="Artikel_Id">
<input type="hidden" value="" id="ArtLevLn_134399">
<input type="text" value="25" style="text-align:right" size="4" id="Aantal_134399" name="Aantal_134399" maxlength="4">
</td>
</tr>
<tr class="SB_ReceptielijstRow ArtRow_134399 ArtRowInvisible">
<td>Bestelling 81 / Lijn </td>
<td>02/07/2010</td>
<td>23,95</td>
<td>23,60</td>
<td class="ArtOpen_134399 Number">
</td>
<td id="ArtToew__134399" class="ArtToew ArtToew_134399 Number">
<div style="display:none" class="ArtBestLn">
<input type="hidden" value="">
</div>
<input type="text" style="text-align:right" size="4" id="Aantal_" name="Aantal_" maxlength="4">
</td>
</tr>
</tbody>