2015-03-29 2 views
0

Ниже приведено содержимое html-файла, и я хочу иметь доступ к каждому из div с id = "z" и устанавливать их на другой цвет фона с использованием цикла в файле js.Доступ к вложенным элементам html и их настройке css

<div id="x"> 
    <div class="y"> 
     <div id="z"> 
     </div> 
    </div> 
    <div class="y"> 
     <div id="z"> 
     </div> 
    </div> 
    <div class="y"> 
     <div id="z"> 
     </div> 
    </div> 
    . 
    . 
</div> 

Цикл

for (i = 0; i < cnt; i++) { 
     $(" ? ? ? ").css("background", color[i]);  
} 
+0

Все, что вам нужно сделать, это '$ ("# г") CSS ("фон", цвет [я]); ' –

+0

Выполнение этого устанавливает фон только первого div с идентификатором z как цвет [i] – iajnr

+1

Вы не можете иметь несколько элементов с одним и тем же идентификатором. Идентификаторы ** должны быть уникальными. Используйте класс и используйте '$ ('. Z'). Each (function (i) {$ (this) .css (" background ", color [i]);});' – JJJ

ответ

2

использовать уникальные идентификаторы. В вашем случае вместо идентификаторов использовать классы:

<div id="x"> 
    <div class="y"> 
      <div class="z"> 
      </div> 
    </div> 
    <div class="y"> 
      <div class="z"> 
      </div> 
    </div> 
    <div class="y"> 
      <div class="z"> 
      </div> 
    </div> 
     . 
     . 
</div> 

И JS:.

$(".z").each(function(i) { 
    $(this).css("background", color[i]); 
} 
Смежные вопросы