Я ищу информацию о том, что Sizzle (jQuery) делает внутренне, когда вы запускаете селектор против него. В идеале либо кто-то, кто написал статью / блог о том, как работают разные браузеры, либо сайт, который может декомпилировать селектор для разных браузеров. В частности, у меня есть команда, которая говорит, что написанный мной код блокирует IE7 на очень больших наборах данных:
.find('.row:not(.row-0) .col-' + colN + ':not(.forbid-transfer)')
И это изменилось на:
.find('.row:not(.row-0) .col-' + colN).filter(':not(.forbid-transfer)')
исправляет проблему со скоростью.
Для меня это полная wtf , так как я предполагаю, что эти два идентичны в двигателе, но, очевидно, это не так. Обратите внимание, что all в родительском контейнере является div, поэтому изменение этого значения на div.row... div.col....
не должно ничего ускорять.