|
26.09.2013, 15:35
|
Интересующийся
|
|
Регистрация: 26.09.2013
Сообщений: 14
|
|
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, 26.09.2013 в 16:49.
|
|
26.09.2013, 15:43
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
amt35,
интересно какое количество элементов может быть в одном элементе ?
|
|
26.09.2013, 15:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
amt35,
getElementsByClassName - s = много ну или фиг ноль
|
|
26.09.2013, 15:49
|
Интересующийся
|
|
Регистрация: 26.09.2013
Сообщений: 14
|
|
так проблема не в getElementsByClassName, он срабатывает.
Почему не работает getElementById ?
|
|
26.09.2013, 15:56
|
|
Профессор
|
|
Регистрация: 17.01.2013
Сообщений: 887
|
|
он работает, но у него нет длинны
|
|
26.09.2013, 16:02
|
Интересующийся
|
|
Регистрация: 26.09.2013
Сообщений: 14
|
|
a.length в данном случае не длина а количество найденных элементов
|
|
26.09.2013, 16:07
|
|
Профессор
|
|
Регистрация: 17.01.2013
Сообщений: 887
|
|
и чё это меняет?
у b и с нет такого свойства
|
|
26.09.2013, 16:07
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от рони
|
интересно какое количество элементов может быть в одном элементе ?
|
__________________
В личку только с интересными предложениями
|
|
26.09.2013, 16:28
|
Интересующийся
|
|
Регистрация: 26.09.2013
Сообщений: 14
|
|
я разобрался
getElementsByClassName выдает массив, по этому a.length - кол-во элементов массива
getElementById выдает один элемент, по этому что бы b.length выдал кол-во элементов в один элемент а не undefined, надо сначала elem.push(b) тогда elem.length = 1 , а не undefined
|
|
26.09.2013, 16:38
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от amt35
|
getElementById выдает один элемент, по этому что бы b.length выдал кол-во элементов в один элемент а не undefined, надо сначала elem.push(b) тогда elem.length = 1 , а не undefined
|
|
|
|
|