Top.Mail.Ru
Ответы

Почему в js стиль применяется только для одного элемента?

Проблема в том что заменяется только один элемент, хотя заданы классы, а не id:

Код:

12345678910111213141516171819202122232425262728293031
     <ul class="roulette_border"> 
        <?php 
        $rand_animate = rand(-3940, -4190); 
        for ($i = 0; $i < 50; $i++) { 
            $rand_num = array_rand($list_skins); 
            $rand_skins = ($list_skins[$rand_num]); 
            if ($i == 40) { 
                $rand_skins = $dropped_item = $skin; 
            } ?> 
            <li style="--r: <?= $rand_animate ?>px" class="roulette_items"> 
                <img src="https://" width="-1" height="-1" alt = "false|false"/>" alt="none" class="roulette_img"> 
                <h3 class="skins_title"><?= $rand_skins[1] ?></h3> 
                <h3 class="skins_name"><?= $rand_skins[2] ?></h3> 
                <span class="<?= $rand_skins[3] ?>"></span> 
            </li> 
        <?php } ?> 
    </ul> 
    <img src="https://" width="-1" height="-1" alt = "false|false"/>" alt="dropped_item"> 
 
    <script> 
        let roulette_items = document.querySelector('.roulette_items'); 
        let roulette_border = document.querySelector('.roulette_border'); 
        let dropped_item = document.querySelector('.dropped_item'); 
 
        roulette_items.addEventListener("animationend", function() { 
            roulette_border.style.display = 'none'; 
            dropped_item.style.opacity = '1'; 
            dropped_item.style.position = 'relative' 
 
        }); 
    </script> 
По дате
По рейтингу
Аватар пользователя
Новичок

Потому что при помощи JavaScript за раз можно задать стиль только для одного элемента. Так же как и значения атрибутов любого другого объекта. То есть, чтобы изменить все элементы, надо их все найти и коллекцию найденных элементов пропустить через цикл.

И использовать для поиска надо getElememtsByClassName() или querySelectorAll(), а не querySelector().

Для стилей лучше использовать отдельный CSS файл, без всяких JavaScript.

Аватар пользователя
Оракул

1. учи матчасть
2. если в выбор попадает несколько элементов, то работать надо как с массивом, а не с первым