2014-02-11 5 views
1

Я создал несколько дивы динамически с JavaScript:getElementByClassName для динамически создаваемых элементов

<div class="tile"></div> 
<div class="tile"></div> 
<div class="tile"></div> 
<div class="tile"></div> 

Теперь я хочу, чтобы выбрать эти дивы и изменять их размеры, как так:

var singleTiles = document.getElementsByClassName('tile'); 
singleTiles.style.width = '10px'; 
singleTiles.style.height = '10px'; 

Но это Безразлично» похоже, работает. Я предполагаю, что элементы были добавлены динамически. Есть ли другой способ сделать это?

+1

singleTiles массив, так что вы должны itterate над ним – Rooster

+1

Я считаю, что это на самом деле 'HTMLCollection', который является' live', не то, что это будет иметь значение в этом примере, но может и в других ситуациях , – Xotic750

ответ

3

document.getElementsByClassName, он возвращает массив всех дочерних элементов, которые имеют любое из заданных имен классов. Здесь элементы - это HTMLCollection найденных элементов. Поэтому вам нужно пройти через него.

Использование

var singleTiles = document.getElementsByClassName('tile'); 
for(var i=0; i<singleTiles.length; i++) { 
    singleTiles[i].style.width = '10px'; 
    singleTiles[i].style.height = '10px'; 
} 
+0

почему я не могу позвонить. join() в результирующем массиве? – dandavis

+0

@ dandavis, я не пробовал это и по моему пониманию. Здесь мы ссылаемся на элементы DOM. Поэтому я не думаю, что это сработает – Satpal

+0

, а затем отредактируйте часть о «она возвращает массив», чтобы не путать noobs. – dandavis

Смежные вопросы