Запутался с навигацией DOM
Есть такой код:
<div id='cvet$i' class='kvadratik_obyortka_cveta' onclick='smena_cveta_risovaniya(this.id)'> <div name='podsvetka_cveta' class='kvadratik_podsvetki' > <div name='sam_cvet' class='kvadratik_samogo_cveta' style='background-color:$vozmojnie_cveta[$i]'> </div> </div> </div> И function smena_cveta_risovaniya(idd) { cvet_risovaniya = document.getElementById(idd).podsvetka_cveta.sam_cvet.style.backgroundColor; alert("ddd"+cvet_risovaniya); } Почему неработает эта функция и как правильно добраться до этого свойства? |
не вижу ни одного повода, чтобы работало.
это просто случайный набор букв изучите основы DOM для начала на сайте отличные статьи есть |
document.getElementById(idd).podsvetka_cveta.sam_c vet.style.backgroundColor;-зверская строка:haha:
<div name='podsvetka_cveta' class='kvadratik_podsvetki' > <div name='sam_cvet' class='kvadratik_samogo_cveta' style='background-color:$vozmojnie_cveta[$i]'> присвой им id и обращайся document.getElementById(id контейнера).style.backgroundColor=.... если хочешь менять задний фон у 2х вложенных контейнеров а вообще лучше начать учить скрипт с начала |
Воитель, у DIV нет атрибута name.
|
Конечно задумка и идентификаторы элементов жесть. Вот перевёл в рабочий вид если уж так нужно, не забудь куски php сюда подставить которые у тебя были:
<script type="text/javascript"> function smena_cveta_risovaniya(idd) { var cvet_risovaniya = document.getElementById(idd).getElementsByClassName('kvadratik_podsvetki')[0].getElementsByClassName('kvadratik_samogo_cveta')[0].style.backgroundColor; alert(cvet_risovaniya); } </script> <div id='cvet' class='kvadratik_obyortka_cveta' onclick='smena_cveta_risovaniya(this.id)' style="border:1px #000 solid; width:100px; height:100px;"> <div class='kvadratik_podsvetki' > <div class='kvadratik_samogo_cveta' style='background-color:#fff'> </div> </div> </div> |
Я уж думал над этим вариантом. Не подходит, там на странице будет много 'kvadratik_podsvetki' и много 'kvadratik_samogo_cveta'
|
Часовой пояс GMT +3, время: 05:26. |