Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Автоматизация вставки текста в DIVы с одинаковым названием (https://javascript.ru/forum/misc/18600-avtomatizaciya-vstavki-teksta-v-divy-s-odinakovym-nazvaniem.html)

SunChase 08.07.2011 00:02

Автоматизация вставки текста в DIVы с одинаковым названием
 
Доброго времени суток. Начал изучение JS и назрела такая задачка:

Есть такой код:
Код:

<div id="main">
<div id="video"></div>
<div id="video"></div>
<div id="audio"></div>
<div id="video"></div>
</div>

как подступится с помощью JS к элементам с id "video", чтобы можно было в них вставить обычный текст( ...nodeValue ).

В одной из тем форума я нашёл следующее:
Код:

document.getElementBy('main').getElementsByTagName('div')
Но интересует момент отбора элементов исключительно типа main->video

Понимаю что можно к каждому айдишнику video прикрепить порядковый номер, но интересует решение именно такого варианта.

Заранее благодарен за любую полезную информацию

trikadin 08.07.2011 00:06

На странице может быть только 1 уникальный id.

SunChase 08.07.2011 00:08

тоесть никак не обойти?

trikadin 08.07.2011 00:16

Можно по классу.

<div id="main">
 <div class="audio"></div>
 <div class="video"></div>
 <div class="audio"></div>
 <div class="video"></div>
</div>
<script>
array= document.getElementById("main").getElementsByTagName("div");
num=1;
for (i= 0; i!= array.length; ++i)
{
 if (array[i].className=="audio")
  array[i].innerHTML= "audio " + num++;
 else
  array[i].innerHTML= "not audio";
};
</script>

trikadin 08.07.2011 00:18

И вообще...

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

SunChase 08.07.2011 00:21

Спасибо за помощь. По поводу знания JS согласен - сейчас какраз нахожусь в процессе изучения.

melky 08.07.2011 00:26

если вы переступили таки через черту, и назвали элементы одинаковым ид, то справиться можно гавнокодом :

<div id="main">
<div id="video"></div>
<div id="video"></div>
<div id="audio"></div>
<div id="video"></div>
</div>


<script>
var a = (function(doc){

var divs = doc.getElementById("main").getElementsByTagName('div'),
              b=[],
               i=divs.length;

while( i-->0 )  divs[ i ].id == "video" && b.push( divs[i] );

return b;
})(document);


alert( a )
</script>

SunChase 08.07.2011 00:32

Ну тут была идейка при обработке бб-кода видео файла прикреплять сверху див с номером трека. Думал поправить сам ПХП, но ради образовательных целей решил попробовать решить эту задачку при помощи JS


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