
JavaScript
javascript применить стиль.
Есть 4 элемента с классом small-picture, стиль видз нужно применить к 2 и 3, но применяется он почему-то только к последнему в массиве. Как правильно записать чтоб применился к обоим элементам? Это нужно сделать в консоли.


Либо на каждую по отдельности тыкать в виде:
document.getElementsByClassName('small-picture')[0]....
document.getElementsByClassName('small-picture')[1]....
document.getElementsByClassName('small-picture')[2]....
Или запустить цикал, который вместо вас переберет все варианты)
Сперва создаете переменную = получаете нужный вам класс:
var bubu = document.getElementsByClassName('small-picture');
for (var i = 0; i < bubu.length; i++) {
bubu[i].style.height = '210px';
}
i = созданная переменная, которая принимает значения от нуля до количества необходимых элементов.
То, что написано внутри for - выполняется сперва для i = 0, потом по новому кругу для i = 1, потом i = 2 и т. д. пока не дойдет до указанного количества ( i < bubu.length )
Причем, со всеми параметрами for можно свободно играться.
for ( i = 4; i < 10; i+=2 )
такой цикл запустится для значений i = 4, 6, 8
i++ то же самое что и i+=1
А в случае последнего цикла - на каждом круге прибавляем +2 к i
____
Общий вид:
for (число с которого начинаем код; число до которого заканчиваем; размер шага) {
здесь может быть вообще любой код, который нужно кругами повторять для нескольких чисел. Каких чисел - for ( пишется здесь )
}
document.getElementsByClassName('small-picture')[0]....
document.getElementsByClassName('small-picture')[1]....
document.getElementsByClassName('small-picture')[2]....
Или запустить цикал, который вместо вас переберет все варианты)
Сперва создаете переменную = получаете нужный вам класс:
var bubu = document.getElementsByClassName('small-picture');
for (var i = 0; i < bubu.length; i++) {
bubu[i].style.height = '210px';
}
i = созданная переменная, которая принимает значения от нуля до количества необходимых элементов.
То, что написано внутри for - выполняется сперва для i = 0, потом по новому кругу для i = 1, потом i = 2 и т. д. пока не дойдет до указанного количества ( i < bubu.length )
Причем, со всеми параметрами for можно свободно играться.
for ( i = 4; i < 10; i+=2 )
такой цикл запустится для значений i = 4, 6, 8
i++ то же самое что и i+=1
А в случае последнего цикла - на каждом круге прибавляем +2 к i
____
Общий вид:
for (число с которого начинаем код; число до которого заканчиваем; размер шага) {
здесь может быть вообще любой код, который нужно кругами повторять для нескольких чисел. Каких чисел - for ( пишется здесь )
}
Потому что вообще не ясно что Вы хотели сделать через "[2, 3]", потому как аттрибут style принадлежит элементу, а не HTMLCollection
Вам нужно сохранить в переменную результат от getElementsClassName, затем пробежаться циклом for, и применить к каждому элементу style.height отдельно.
цикл у HTMLCollection объекта выглядит как-то так.
for(var i=0; i < itemsCollection.length; i++) {}
forEach с этим объектом не работает.
Вам нужно сохранить в переменную результат от getElementsClassName, затем пробежаться циклом for, и применить к каждому элементу style.height отдельно.
цикл у HTMLCollection объекта выглядит как-то так.
for(var i=0; i < itemsCollection.length; i++) {}
forEach с этим объектом не работает.
for (let el of [...document.querySelectorAll('.small-picture')].slice(1, 3))
el.style.height = '210px';
Старый синтаксис (поддержка IE11):
const sp = document.querySelectorAll('.small-picture');
for (let i = 1; (i <= 2) && i < sp.length - 1; i++)
sp[i].style.height = '210px';
А метод getElementsByClassName() вообще для другого нужен... здесь тебе живая коллекция без надобности.
el.style.height = '210px';
Старый синтаксис (поддержка IE11):
const sp = document.querySelectorAll('.small-picture');
for (let i = 1; (i <= 2) && i < sp.length - 1; i++)
sp[i].style.height = '210px';
А метод getElementsByClassName() вообще для другого нужен... здесь тебе живая коллекция без надобности.
Комил Сироjов
Спасибо, ваш вариант сработал, но только после того как я в круглых ковычках после slice поставил (0, 4). Применилось ко всем четырем картинкам с этим классом (такой класс только у четырех элементов на странице., нужно было убавить), но почему вы написали (1, 3) ? Мне нужно было выставить фиксированную высоту элементу т. к он закрывал собой другие в блоке.
Похожие вопросы
- Есть ли аналоги JavaScript?
- С чего начать учить JavaScript?
- Подскажите книги для изучения javascript? Хочу начать изучать веб программирование javascript подойтет для начала?
- Зачем нужен prototype в JavaScript?
- Тяжело ли выучить JavaScript?
- Как создать квадрат через JavaScript?
- Смотрел я тут учебный курс Евгения Попова по javascript. Удивил он (Попов) в паре мест...
- Имеет ли смысл изучать JavaScript если я полный ноль в веб программировании?
- Как установить JavaScript на ноутбук Asus ?
- Сложности с JavaScript