Я использую dynaTrace для профилирования своего приложения в Internet Explorer.
Один из самых дорогих звонков:
$("div.containerClass:has(div.containerHeader)")
Я выделил селектор следующим образом, что дало небольшое улучшение:
$("div.containerClass:has(div.containerHeader)", "#section-wrapper")
Как еще улучшить производительность?
ПРИМЕЧАНИЕ. Я не могу изменить разметку HTML, только JavaScript.
Я использую jQuery 1.4.2.
UDPATE
Вот пример HTML ... обратите внимание, что в моем реальном приложении HTML является динамическим, и фактическая разметка будет отличаться:
<div id="section-wrapper">
<div class="somethingelse">
<div class="somethingelse2">
<div class="containerClass">
<div class="containerHeader">
<h2>content region 1</h2>
</div>
</div>
<div class="containerClass">
<div>
<h2>content region 2</h2>
</div>
</div>
<div class="containerClass">
<div class="containerHeader">
<h2>content region3 </h2>
</div>
</div>
<div class="containerClass">
<div class="containerHeader">
<h2>content region 4</h2>
</div>
</div>
</div>
</div>