Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обращение к элементам, имеющим одинаковые ID, находящимся в разных контейнерах (https://javascript.ru/forum/misc/11410-obrashhenie-k-ehlementam-imeyushhim-odinakovye-id-nakhodyashhimsya-v-raznykh-kontejjnerakh.html)

onejsquestion 22.08.2010 16:10

Обращение к элементам, имеющим одинаковые ID, находящимся в разных контейнерах
 
Уважаемые форумчане!
Подскажите, пожалуйста, как можно, и можно ли вообще, обратиться к одному из элементов в этом случае:
<div id="container_1">
     <div id="element"></div>
</div>
<div id="container_2">
     <div id="element"></div>
</div>

document.getElementById('element')
- обращается только к первому элементу, находящемуся в контейнере "container_1", но вот хотелось бы обращаться по выбору: либо к тому, либо к другому, но не меняя их ID.

Заранее большое спасибо!

Sweet 22.08.2010 16:27

Цитата:

Сообщение от onejsquestion
можно ли вообще

НЕТ

onejsquestion 22.08.2010 16:48

т.е. на странице вообще нельзя использовать два или более элемента с одинаковым ID? ну может использовать и можно, но работать с ними не получится никакими способами? А можно ли узнать, например, родительский контейнер контейнера?

Gvozd 22.08.2010 16:54

Цитата:

Сообщение от onejsquestion
т.е. на странице вообще нельзя использовать два или более элемента с одинаковым ID?

нельзя
Цитата:

Сообщение от onejsquestion
А можно ли узнать, например, родительский контейнер контейнера?

можно
RTFM

onejsquestion 22.08.2010 17:20

Спасибо!

Kos 23.08.2010 06:19

C использованием JQuery:
<div id="container_1">
	<div id="element">Hello </div>
</div>
<div id="container_2">
	<div id="element">World!</div>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
	alert($('#container_1').find('#element').text() + $('#container_2').find('#element').text());
</script>

Gvozd 23.08.2010 09:46

Цитата:

Сообщение от Kos
P.S. Не знаю как тут сделать запускаемый js ))

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

а jQuery подключай с гугла

Kos 23.08.2010 21:13

Спасибо за инфу, а не подскажите, почему jQuery следует подключать именно с гугла?

subzey 23.08.2010 22:20

В ие можно использовать getElementsByName("duplicate-id"). Он вернет в том числе и элементы с id "duplicate-id".
В нормальных браузерах можно использовать document.querySelectorAll("#duplicate-id").

Только учтите, что два элемента с одним id в одном документе - в любом случае, плохо, противоестесственно и некрасиво.

B@rmaley.e><e 23.08.2010 22:24

Цитата:

Сообщение от Kos
почему jQuery следует подключать именно с гугла

Кеширование. А еще у гугля быстрые серваки.


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