Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   getElementById undefined (https://javascript.ru/forum/events/41716-getelementbyid-undefined.html)

amt35 26.09.2013 15:35

getElementById undefined
 
простейшая ситуация

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>test</title>
<style>
div {text-align: center;}
</style>
</head>
<body>
<div id=u3>
<div id=g1 class=ab1>DIV17</div><br>
<div id=g2 class=vc15>DIV175</div><br>
<div id=g3 class=ab2>DIV18</div><br>
<div id=g4 class=ab3>DIV19</div><br>
<div id=g5 class=af15>DIV195</div><br>
<div id=g6 class=ab4>DIV20</div><br>
</div>
<script language="JavaScript">
var a = document.getElementsByClassName('ab1'); alert('class>'+a.length);
var b = document.getElementById('g2'); alert('id>'+b.length);
var c = document.getElementById('g1'); alert('id>'+c.length);
</script>
</body>
</html>

getElementsByClassName('ab1'); - элемент находит
document.getElementById('g1');document.getElementB yId('g2'); - выдают undefined
не понимаю почему? подскажите!

ответ:
<script language="JavaScript">
var elem1=[]; var elem2=[];
var a = document.getElementsByClassName('ab1'); alert('class>'+a.length); (=1)
var b = document.getElementById('g2'); elem1.push(b); alert('id>'+elem1.length); (=1 а не undefined)
var c = document.getElementById('g1'); elem2.push(c); alert('id>'+elem2.length); (=1 а не undefined)
</script>

рони 26.09.2013 15:43

amt35,
интересно какое количество элементов может быть в одном элементе ?

рони 26.09.2013 15:45

amt35,
getElementsByClassName - s = много ну или фиг ноль

amt35 26.09.2013 15:49

так проблема не в getElementsByClassName, он срабатывает.
Почему не работает getElementById ?

animhotep 26.09.2013 15:56

он работает, но у него нет длинны

amt35 26.09.2013 16:02

a.length в данном случае не длина а количество найденных элементов

animhotep 26.09.2013 16:07

и чё это меняет?
у b и с нет такого свойства

danik.js 26.09.2013 16:07

Цитата:

Сообщение от рони
интересно какое количество элементов может быть в одном элементе ?

  

amt35 26.09.2013 16:28

я разобрался
getElementsByClassName выдает массив, по этому a.length - кол-во элементов массива
getElementById выдает один элемент, по этому что бы b.length выдал кол-во элементов в один элемент а не undefined, надо сначала elem.push(b) тогда elem.length = 1 , а не undefined

рони 26.09.2013 16:38

Цитата:

Сообщение от amt35
getElementById выдает один элемент, по этому что бы b.length выдал кол-во элементов в один элемент а не undefined, надо сначала elem.push(b) тогда elem.length = 1 , а не undefined

:blink:


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