Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как записать id всех элементов в массив? (https://javascript.ru/forum/misc/7420-kak-zapisat-id-vsekh-ehlementov-v-massiv.html)

SunYang 31.01.2010 16:46

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

micscr 31.01.2010 16:58

var arr = [];
var list = document.getElementsByTagName('*');
for (var i=0; i<list.length; i++)
{
    if (list[i].id) arr.push(list[i].id);
}

SunYang 03.02.2010 19:21

Вот это говорит undefined:
function go1() {
var arr = [] // массив значений id
var list = document.getElementsByTagName('*');
for(i=0; i<list.length; i++) {
if(list[i].id) arr.push(list[i].id);
}
document.write(arr[i])
}
</script>


<input type="button" value="Save" onclick="go1()">

<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="center" id="a3">Data1</td>
<td align="center" id="b3">Data2</td>
<td align="center" id="c3">Data3</td>
</tr>
</table>

PeaceCoder 03.02.2010 19:26

Цитата:

Сообщение от SunYang
document.write(arr[i])

alert(arr);

SunYang 03.02.2010 19:47

Функция записывает в значения id элементов, у которых нет id в значении null. Почему вот с этим условием if(list[i].id) она не пропускает запись в массив элементов без айдишников?

SunYang 03.02.2010 20:03

Вот это вот выводит 9 раз undefined прежде чем начать выводить a3, b3, c3. Выходт в массив arr[] всё записывается?
<script>
function go1() {
var arr = [] // массив значений id
var list = document.getElementsByTagName('*');
for(i=0; i<list.length; i++) {
if(list[i].id) arr[i] =list[i].id;
alert(arr[i])
}

}
</script>


<input type="button" value="Alert" onclick="go1()">

<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="center" id="a3">Data1</td>
<td align="center" id="b3">Data2</td>
<td align="center" id="c3">Data3</td>
</tr>
</table>

PeaceCoder 03.02.2010 20:15

Цитата:

Сообщение от SunYang
if(list[i].id) arr[i] =list[i].id;

if(list[i].id) arr.push(list[i].id);

JsLoveR 03.02.2010 20:36

ааа, меня опередил PeaceCoder:cray:

SunYang 03.02.2010 21:47

Все равно не работает. Теперь всю дорогу выдает только undefined. Не пойму че за нна( Все ж нормально должно быть

SunYang 03.02.2010 21:51

вот так посмотрел:
<script>
function go1() {
var arr = [] // массив значений id
var list = document.getElementsByTagName('*');
for(i=0; i<list.length; i++) {
if(list[i].id) arr.push(list[i].id);
alert(i +' --> '+arr[i])
}

}
</script>
Все элементы массива undefined


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