Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Запутался с навигацией DOM (https://javascript.ru/forum/dom-window/14049-zaputalsya-s-navigaciejj-dom.html)

Воитель 26.12.2010 14:14

Запутался с навигацией 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);
}

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

Gvozd 26.12.2010 14:21

не вижу ни одного повода, чтобы работало.
это просто случайный набор букв
изучите основы DOM для начала
на сайте отличные статьи есть

dmitriymar 26.12.2010 14:23

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х вложенных контейнеров
а вообще лучше начать учить скрипт с начала

exec 26.12.2010 14:25

Воитель, у DIV нет атрибута name.

Vulkan 26.12.2010 17:45

Конечно задумка и идентификаторы элементов жесть. Вот перевёл в рабочий вид если уж так нужно, не забудь куски 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>

Воитель 27.12.2010 23:51

Я уж думал над этим вариантом. Не подходит, там на странице будет много 'kvadratik_podsvetki' и много 'kvadratik_samogo_cveta'


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