[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает смена стиля через js
Betcoll
Добрый вечер. У меня есть функция:

  function showFormDelBet(i) {

document.getElementById('div_del_bet_' + i).style.background = "#000000";

}


И есть код html. Через цикл создаются дивы:


$id_div_del = 'div_del_bet_' . $i;
echo "<div id=$id_div_del style='background:#EBEEF3; border-bottom:solid 1px #CECFD0;
color:#575757; font-family:Tahoma,Arial; font-size:14px; display:block;'>"
;



И есть также в цикле функция:
 echo"<div style='margin-top:5px;'><a class='red_link' style='cursor:pointer;' onClick='showFormDelBet($i);'>Удалить ставку</a></div>";


За код сильно не критикуйте, но на ошибки указывайте :-)

Так вот, при клике в функции получается переменная div_del_bet_X, где X - передаваемое значение. Но выскакивает ошибка
Cannot read property 'style' of null at showFormDelBet

Что только не пробовал, ничего не получилось. Подскажите на ошибку мою. Спасибо.
sergeiss
Цитата (Betcoll @ 20.09.2019 - 19:51)
Что только не пробовал, ничего не получилось.

А что именно пробовал? ;)
Я так подозреваю, что у тебя что-то не так создается в итоге.

В браузере зайди в режим разработчика и сделай следующее.
1. Проверь, что на твоей странице на самом деле есть такие ДИВы, с определенными айдишниками.
Далее в консоли:
2. Введи вручную document.getElementById('div_del_bet_0') (или с любым другим числом, с каким реально есть ДИВ) и жмякни Энтер
Если получишь null - ты что-то не то ввёл :)
3. Если же п.2 успешен, то установи точку останова на проблемной строке (внутри функции) и нажми кнопку. В функции убедись, что в аргументах пришла нужная величина. Опять же, в консоли проверь, что такой ДИВ можно выбрать программно.
4. Ежели ничего не получится, то выкладывай сюда ,больше кода, будем смотреть.


Насчет собственно кода. Тэг <a> в данном случае неправильный, т.к. этот тэг для ссылок с переходами куда-нибудь, а у тебя выполняется действие. Лучше будет <div> или <span>.
И выводить на страницу можно двояко:
<?php
echo "<div id=$id_div_del style='background:#EBEEF3; border-bottom:solid 1px #CECFD0;
color:#575757; font-family:Tahoma,Arial; font-size:14px; display:block;'>"
;
?>

а можно по-другому, чтобы основная часть была HTML (более наглядно всё получается)

<div id=<?= 'div_del_bet_' . $i ?> style='background:#EBEEF3; border-bottom:solid 1px #CECFD0; color:#575757; font-family:Tahoma,Arial; font-size:14px; display:block;'


Ну и еще... Ежели у тебя набор стилей одинаковый, то создай уж класс стилей и указывай его. Более читаемо будет и более компактно.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.