Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как перебрать Divы... в 1 диве (https://javascript.ru/forum/misc/9902-kak-perebrat-divy-v-1-dive.html)

Arfey 10.06.2010 14:00

как перебрать Divы... в 1 диве
 
<div class = "Tfood" id="Tfood">

<div class="food_div" name="food_div[1]"></div>
<div class="food_div" name="food_div[2]"></div>
<div class="food_div" name="food_div[3]"></div>

</div>

подскажите как перебрать дивы в <div class = "Tfood" id="Tfood"> ??

Skipp 10.06.2010 14:02

var divs = document.getElementById('Tfood').getElementsByTagName('div');

Arfey 10.06.2010 14:16

Цитата:

Сообщение от Skipp (Сообщение 58857)
var divs = document.getElementById('Tfood').getElementsByTagName('div');

не не это не подойдет .. там дальше к примеру

<div class = "Tfood" id="Tfood">

<div class="food_div" name="food_div[1]">
<div></div> но эти дивы не нужны
<div></div>
</div>
<div class="food_div" name="food_div[2]"></div>
<div class="food_div" name="food_div[3]"></div>

</div>

Skipp 10.06.2010 14:20

установи им id допустим food_divN где N целое число и получай их
var divs = new Array();
var i = 0;
while(document.getElementById('food_div' + i))
{
 divs[i] = document.getElementById('food_div' + i)
}

допустим так

Skipp 10.06.2010 14:25

или по классу ищи

document.getElementsByClass('food_div')

Но только в IE нет такого метода, но есть замена его

Arfey 10.06.2010 14:34

Цитата:

Сообщение от Skipp (Сообщение 58862)
установи им id допустим food_divN где N целое число и получай их
var divs = new Array();
var i = 0;
while(document.getElementById('food_div' + i))
{
 divs[i] = document.getElementById('food_div' + i)
}

допустим так

так будет более коректно я думаю =)

while(document.getElementById('food_div[' + i + ']'))
{

divs[i] = document.getElementById('food_div[' + i + ']')
alert(divs[i]);
i +=1;
}

Arfey 10.06.2010 14:34

спс =)

Arfey 10.06.2010 14:39

а если так то не получаеться =(
while(document.getElementById('food_div[' + i + ']'))
{

divs[i] = document.getElementById('food_div[' + i + ']')
alert(divs[i].getElementsByClass('div_date').value);
i +=1;
}


это если



<div class = "Tfood" id="Tfood">

<div class="food_div" name="food_div[1]">
<div class="div_date" ></div>
<div></div>
</div>
<div class="food_div" name="food_div[2]"></div>
<div class="food_div" name="food_div[3]"></div>

</div>

Skipp 10.06.2010 14:48

тьфу забыл про инкремент(i++).

Так ты id присвой им. и вообще name убери, так как у div не может быть его, это просто атрибут в данном случаи.

Arfey 10.06.2010 14:56

Цитата:

Сообщение от Skipp (Сообщение 58870)
тьфу забыл про инкремент(i++).

Так ты id присвой им. и вообще name убери, так как у div не может быть его, это просто атрибут в данном случаи.

не не ... я просто всего не пишу .. там много элементов в элементах ..

<div class = "Tfood" id="Tfood">

<div id="food_div[1]"><div id= "date"></div></div>
<div id="food_div[2]"><div id= "date"></div></div>
<div id="food_div[3]"><div id= "date"></div></div>

</div>

и мне нада их перебирать по очереди

тоесть снчала

while(document.getElementById('food_div[' + i + ']'))
{

divs[i] = document.getElementById('food_div[' + i + ']')


//а в нутри както перебрать <div id= "date">

i +=1;
}



divs[i].getElementById('date').value - и так не работает .. (

Skipp 10.06.2010 14:58

убери кавычки из i

Arfey 10.06.2010 15:02

Цитата:

Сообщение от Skipp (Сообщение 58875)
убери кавычки из i

там правильно - оно получает элемент обьект
а ругаеться что функция getElementById не найдена (в коде ниже)

divs[i].getElementById('date').value


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