Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   массив id элементов (https://javascript.ru/forum/misc/15311-massiv-id-ehlementov.html)

bioz00 21.02.2011 17:35

массив id элементов
 
можно ли задать id элемента с индексом массива?

к примеру:
<div id='massiv[1]'>content</div>
<div id='massiv[2]'>content</div>
<div id='massiv[3]'>content</div>

чтоб можно было обращаться ко всем элементам сразу:
massiv.style.visibility='hidden';

и к каждому в отдельности:
massiv[1].style.left=lft;

или что нибудь в этом духе

Matre 21.02.2011 17:48

<div class='group'></div>
<div class='group'></div>
<div class='group'></div>
<div class='group'></div>
<div class='group'></div>
<div class='group'></div>

<script type='text/javascript'>

	function Group(groupname, handler) {
		var R = [];
		for (var I = 0, E = document.getElementsByTagName("*"), L = E.length; I < L; I++) {
			if (new RegExp("\\b" + groupname + "\\b").test(E[I].className)) {
				handler && handler.call(E[I]);
				if (!handler)
					R.push(E[I]);
			}
		}
		return R;
	}

	Group("group", function (index) {
		this.innerHTML = "DIV";
		this.style.color = "red";
	});
	Group("group")[3].innerHTML = "MWAAAX";

</script>

monolithed 21.02.2011 17:53

Matre, мне кажется это лишне, к тому же более корректный вариант можно посмотреть тут

Цитата:

Сообщение от bioz00
можно ли задать id элемента с индексом массива?

можно не нужно ;)

обращаемся к каждому дочерниму элменту DIV как к элементу массива:
<div id="div">
    <div></div>
    <div></div>
    <div></div>
</div>
<script>
var div = document.getElementById('div').getElementsByTagName('div'), i = div.length;

while(i--) {
      div[i].innerHTML = i; //div1-3
}
</script>

или так (в этом случае задаем каждому дочернему элмененту div уникальный инкрементируемый идентификатор):
var div = document.getElementById('div').getElementsByTagName('div'), i = div.length;

while(i--) {
      div[i].id = 'div'+i; //#div1-3
}

bioz00 22.02.2011 16:48

спасибо за примеры


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