#javascript #arrays
#javascript #массивы
Вопрос:
Я этот массив:
arrayHAY["rat","cat","hat","mat","bat"];
И эти элементы:
<div id="rat"></div>
<div id="cat"></div>
<div id="hat"></div>
<div id="mat"></div>
<div id="bat"></div>
Мой вопрос в том, как я могу использовать массив для перебора каждого из этих элементов и что-то с ним делать?
Что-то вроде этого:
var nameOfarray = document.getElementByID('.arrayHAY[i].value')
var lengthOfArray = nameOfarray.length;
for(var i=0; i<lengthOfArray; i ) {
// do something
}
Спасибо.
Комментарии:
1. массив JS не имеет абсолютно никакого отношения к DOM. Это просто переменная JS, которая содержит объект array. Нет «id» или «getElementById», которые вы делаете, чтобы «найти» эту переменную, это просто переменная. Как только у вас есть массив, он похож на любой другой массив, который вы хотите использовать в цикле.
Ответ №1:
Вам нужно что-то вроде этого:
for (var i = 0, l = arrayHAY.length; i < l; i) {
var selected = document.getElementById(arrayHAY[i]);
// your own code would be here
}
Это приведет к циклу и выбору каждого элемента.
Ответ №2:
Вы могли бы сделать это:
var arrayHAY = ["rat","cat","hat","mat","bat"];
for (var i = 0, l = arrayHAY.length; i < l; i) {
var elem = document.getElementById(arrayHAY[i]);
// now do your stuff
}
Ответ №3:
Вы близки. Попытайтесь понять, что вы делаете. У вас есть id
s элементов в массиве. Вам нужно получить элементы, соответствующие id
, поэтому используйте каждый элемент в качестве идентификатора document.getElementById
.
var lengthOfArray = nameOfarray.length;
for(var i=0; i<lengthOfArray; i ) {
var element = document.getElementByID(arrayHAY[i].value) //No quotes here
}
Ответ №4:
В настоящее время (с ECMAScript 5) вы можете сделать:
['rat', 'cat', 'hat', 'mat', 'bat'].forEach(function(id) {
var element = this.getElementById(id);
console.log('Selected Element: ', element);
}, document);
Ответ №5:
for( var i=0; i<arrayHay.length; i )
{
document.getElementsById(arrayHay[i]).value; // access value from outside
}