LINUX.ORG.RU

Не могу сделать кнопочку, которая бы меняла элемент на странице. js


0

1

Задание такое, у меня есть таблица ячейки которой генерируются и у каждой ячейки есть свой id. Нужно что бы по нажатию по ссылке в этой ячеке, на цвет ячеки менялся, а именно свойство bgcolor.

И? Код покажи, где не работает-то!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Эти элементы генерируются на php и каждому я могу дать собственный id

<td style="background: #EEDD82;" colspan="4"> - вот ячейка я могу каждой из ней дать id их много одинаковых

<a href=""> вот ссылка </a>
boomflack ()
Ответ на: комментарий от boomflack

Ну и где жабоскриптовый нерабочий код в <a href=&#34;...&#34; onclick=&#34;...&#34;>?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от boomflack

Ну, что же, придется тебе худеть.

А еще я не понял, зачем тебе нужен пыхпых. Если ты учишь жабоскрипт — учи. Но пыхпых-то зачем во все щели совать?

Для изучения жабоскрипта можно почитать htmlbook.ru и google.com

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от emissar

Ну откуда вы такие беретесь? Один статическую страничку пыхпыхом генерирует, другой ради функции getElementById пихает жокваери... Кто вас таких индусов готовит?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от emissar

Это ты решил на каждую ячейку такую портянку писать? %)

Deleted ()
Ответ на: комментарий от emissar

Eddy_Em, без жквери будет не так лаконично и не портабельно.

А если еще и «красиво» написать:

<td style="...">
  <a class="change-parent-color"> вот ссылка </a>
</td>
<script type="text/javascript">
    function changeParentColor(event) {
        event.target.parentNode.style.background = '#fff';
    }

    var links = document.getElementsByClassName('change-parent-color');
    for (var link in links) {
        link.addEventListener('click', changeParentColor);
    }
</script>

... то насколько длинее выходит.

KennyMinigun ★★★★★ ()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от KennyMinigun

Все будет лаконично и портабельно, т.к. ничего здесь "непортабельного" не нужно: только стандарт, который даже древние браузеры понимают.

А за выкладывание полного решения тебе двойка!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

только стандарт, который даже древние браузеры понимают.

IE вроди как не умеет банальный addEventListener() ибо M$ имеет свое видение стандартов.

KennyMinigun ★★★★★ ()
Ответ на: комментарий от KennyMinigun

Зачем по элементам то пробегаться? Делегируй событие:3

ritsufag ★★★★★ ()
Последнее исправление: ritsufag (всего исправлений: 1)
Ответ на: комментарий от KennyMinigun

Старшеклассники подтянулись.

for ... in итерирует во-первых ключи, а во-вторых свойства объекта, в т.ч. и унаследованные. Итератор будет меняться примерно так: [0, 1, 2, «length», ...]

Kalashnikov ★★★ ()
Ответ на: комментарий от Kalashnikov

Старшеклассники подтянулись.

Младшеклассиков не звали.

for ... in итерирует во-первых ключи,

Спасибо, кеп. Я конечно ошибся, но сути кода это не меняет.

KennyMinigun ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.