В последнее время я удивлялся редактированию стилей элементов не путем переключения их классов на dom, а путем изменения фактического набора правил для класса или селектора css.Поэтому вместо чего-то вроде
$('.some').hide()
или
$('.some').addClass('hidden')
Почему бы не изменить правило напрямую с помощью document.styleSheets
и прочего?Разве этот подход не был бы в целом более производительным, по крайней мере, со многими элементами, так как мы позволили бы браузеру обрабатывать изменения набора правил изначально?
Вы можете, например, добавить стиль к .some
, например display: none;
и все .some
элементы будут немедленно скрыты.Нет необходимости перебирать все эти элементы в js и скрывать их вручную (как в примере выше).
Непосредственное изменение наборов правил будет более вероятно поощрять классы, которые осведомлены о контексте (или как бы вы это ни называли).), поскольку вы скрываете все #persons > .item
или что-то в этом роде.
Я до сих пор не знаю лучших практик в отношении классов, которые названы с учетом контекста, как, например, имена элементов управления, такие как .calendar
.ticket
.item
, в отличие от отдельных функциональных классов, таких как .hidden
.left
.green
, поскольку мне обычно нужны оба типа соглашений.
Я просто спрашиваю, что вы об этом думаете, каковы преимущества и недостаткиподход таблицы модификаций стилей по сравнению с тем, как библиотеки, такие как jquery, управляют изменением стилей?
Кроме того, что, по вашему мнению, является хорошей практикой, что вы считаете хаком?
кашель javascript и взлом кашель