Я знаю основы JS, но я хотел бы сделать следующий шаг.Читайте в большом количестве элементов из DOM
Я хотел бы сменить CSS с помощью JS на множество элементов. Проблема заключается в том, что единственный метод, который я знаю, чтобы выбрать элементы является
const name = document.getElement...(id/class/tag etc.);
Так что я могу в дальнейшем обращаться к этому элементу по его имени и изменить свой стиль с помощью:
name.style.cssproperty = "something";
И это хорошо , но когда у меня уже есть 10 элементов, я чувствую, что это очень неэффективно.
Так что мой вопрос, есть ли лучший способ более эффективно изменить CSS динамически, так что начало моего кода не выглядеть следующим образом:
const name = document.getElement...(id/class/tag etc.);
const name = document.getElement...(id/class/tag etc.);
const name = document.getElement...(id/class/tag etc.);
const name = document.getElement...(id/class/tag etc.);
const name = document.getElement...(id/class/tag etc.);
etc...
Или это нормально, чтобы иметь так много переменных ?
Надеюсь, мой вопрос можно понять.
PS:
Я только начал изучать Modular JavaScript! Это какая-то помощь моей проблеме?
Возможно, вы захотите использовать: массивы, объекты, for-loops и 'document.querySelectorAll'. Что все сказано, вы также, вероятно, хотите избежать модификации «стиля» в максимально возможной степени в пользу просто переключений классов. – zzzzBov
Какова природа css, которую вы пытаетесь изменить? Все ли это очень похожие преобразования? Как сказал @zzzzBov, лучший способ сделать это - использовать классы, которые вы сделали в своих таблицах стилей. –
Например, см. Эту ссылку о том, как получить несколько элементов по имени класса, а затем фильтровать полученный массив по произвольным критериям https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName – user44