Итак, я создаю набор виджета JavaScript (jQuery), и я хочу убедиться, что все элементы этих виджетов используют box-sizing: border-box
(и да, я знаю это означает, что я могу поддерживать только версию IE версии 8 или выше, с которой я в порядке).Is [селектор]> * действительно, что медленный
Теперь я слышал, что делать [selector] > *
очень медленно, но насколько он медленный?
Я имею в виду только один из виджетов, у меня есть этот селектор, чтобы убедиться, что все элементы имеют право бокс-проклейки:
.jg-grid-wrap,
.jg-grid-content-outer-wrap,
.jg-grid-colum-actions a,
.jg-grid-content-wrap,
.jg-grid-wrap .hide,
.jg-grid-wrap ul,
.jg-grid-wrap ul li,
.jg-grid-header-wrap,
.jg-grid-header-wrap li,
.jg-grid-header-wrap .sort-indicator,
.jg-grid-row,
.jg-grid-row li,
.jg-grid-footer-wrap,
.jg-grid-footer-wrap .column-selection
.jg-grid-wrap .controls,
.jg-grid-wrap .controls .first-page-link,
.jg-grid-wrap .controls .previous-page-link,
.jg-grid-wrap .controls .next-page-link,
.jg-grid-wrap .controls .last-page-link,
.jg-grid-wrap .controls .column-selection-link,
.jg-grid-wrap .controls .set-page-link,
.jg-grid-wrap .controls .total-page-count,
.jg-grid-wrap .controls .record-counts,
.jg-grid-wrap .controls .record-display-text
{
box-sizing: border-box;
}
, но это было бы намного меньше и легче просто написать:
Кроме того, если я добавлю элемент, теперь я должен помнить, что добавить к огромному селектору, где со звездой один, мне не нужно беспокоиться об этом.
Действительно ли это стоит времени, чтобы перечислить каждый возможный элемент отдельно, потому что [selector] > *
действительно так медленно?
UPDATE
В конце концов, я просто хочу, чтобы пойти с:
[class^=jg-] *
{
box-sizing: border-box;
}
Этот селектор имеет ~ 14% от общего числа 4 мс на основе Google Chrome. Другие немного меньше (~ 4%), но думая об этом, CSS будет последним местом, которое, вероятно, мне нужно будет беспокоиться о производительности (мой код javascript и серверный код будет основной частью узкого места). Если мне действительно нужно оптимизировать мой CSS-хром-профайлер, то когда мне это нужно.
Обновленный селектор на основе ответов, как я действительно не хочу> – ryanzec