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> |
amt35,
интересно какое количество элементов может быть в одном элементе ? |
amt35,
getElementsByClassName - s = много ну или |
так проблема не в getElementsByClassName, он срабатывает.
Почему не работает getElementById ? |
он работает, но у него нет длинны
|
a.length в данном случае не длина а количество найденных элементов
|
и чё это меняет?
у b и с нет такого свойства |
Цитата:
|
я разобрался
getElementsByClassName выдает массив, по этому a.length - кол-во элементов массива getElementById выдает один элемент, по этому что бы b.length выдал кол-во элементов в один элемент а не undefined, надо сначала elem.push(b) тогда elem.length = 1 , а не undefined |
Цитата:
|
Часовой пояс GMT +3, время: 11:05. |