Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   После цикла не изменяется CSS свойства элемента массива (https://javascript.ru/forum/misc/71553-posle-cikla-ne-izmenyaetsya-css-svojjstva-ehlementa-massiva.html)

classic 28.11.2017 12:37

После цикла не изменяется CSS свойства элемента массива
 
Здравствуйте!
Я новичок в JavaScript.
Написал скрипт который по идее должен изменить тексты параграфов.
Почему после цикла не работает строка:
d[2].style.color = "orange";

Вот код:

<!DOCTYPE html>
<html>
<head>
    <title>JS Test</title>
</head>
    <body>
        <p class="demo">a</p>
        <p class="demo">b</p>
        <p class="demo">c</p>
        <p class="demo">d</p>
        <p class="demo">e</p>
        <button onclick="test();">Click to change</button>
<script>
  function test() {
  var i = 0;
  var d = document.getElementsByClassName("demo");
  for (i = 0; i <= d.length; i++) {
    d[i].innerHTML = i + 1;
    d[i].style.color = "blue";
    d[i].style.fontWeight = "bold";
  };
    d[2].style.color = "orange";
}

</script>
</body>
</html>

Nexus 28.11.2017 12:41

classic, потому что цикл заканчивается ошибкой.
Смотрите консоль.
Ошибка при объявлении цикла.
Выделенное красным лишнее:
for (i = 0; i <= d.length; i++)

рони 28.11.2017 12:42

Цитата:

Сообщение от classic
Почему после цикла не работает строка:

потому что в строке 17 ошибка

classic 28.11.2017 13:42

Спасибо большое! Исправил. Работает.


Часовой пояс GMT +3, время: 04:35.