Работа с циклом for
Здравсвуйте, подскажите пожалуйста, почему alert в цикле for не отрабатывает.
<ul id="lists-r1">
<li class="list-r1">Alcohol And Drugs</li>
<li class="list-r1">Becoming Familiar With Your Vehicle</li>
<li class="list-r1">Defensive Driving Techniques</li>
<li class="list-r1">Driving In Bad Weather</li>
<li class="list-r1">Driving Privileges</li>
<li class="list-r1">Laws And Rules Of The Road</li>
<li class="list-r1">Road Rage</li>
<li class="list-r1">Seat Belts</li>
<li class="list-r1">Sharing The Road</li>
<li class="list-r1">Signs, Signals, and Markings</li>
<li class="list-r1">Space Management</li>
</ul>
function getPlay(_timeDelay, _timeSpeed, _timeOpacity)
{
this.timeDelay = _timeDelay;
this.timeSpeed = _timeSpeed;
this.timeOpacity = _timeOpacity;
this.arrCoords = [1,2];
};
getPlay.prototype.getPosition = function()
{
this.li = document.getElementsByClassName('list-r1');
for(var i = 0; i <= this.li; i ++)
{
alert("1")
}
};
var obj = new getPlay(10, 20, 30);
obj.getPosition();
|
Скажите, что больше, "килограмм" или "зелёный"?
|
Цитата:
|
this.li = document.getElementsByClassName('list-r1');
for(var i = 0; i <= this.li; i ++)
во первых. getElementsByClassName - не кросбраузерно и исспользование не желательно во вторых. i <= this.li - wtf? i меньше или равно массив?)) |
Цитата:
|
я бы на вашем месте сделал бы this.li = document.getElementById('lists-r1').getElementsByTagName('li');
|
Для обхода коллекции элементов лучше использовать следующий код
for ( var i = 0; this.li[i]; i++ ) {
}
Так коллекция элементов не является массивом, а является объектов, и в IE свойство length может возращать элемент коллекции. |
Цитата:
|
<div> <input type="text" name="a"/> <input type="text" name="b"/> <input type="text" name="length"/> </div>
var inp = document.getElementsByTagName("input");
alert(typeof inp.length);
|
ы туплю
|
розовый слоник, IE6 - IE8
|
может в ие7 все что связанно с доком будет объектом?)
|
Цитата:
|
а точно)ну все равно как по мне просто забавная штука) я правда не могу понять почему это так происходит каким образом inp.length это <input type="text" name="length"/>
|
Kolyaj, у меня в IE9 возращает number( browser mode: IE9, document mode: IE9 standart )
|
и у меня в ие9 намбер
|
розовый слоник, потому что IE может возвращать элемет из коллекции по его имени либо id (может и другие браузеры, я знаю только за IE).
|
да и правда ие забавен вот только я невижу никакого применения эту на практике разве что писать чтото именно для ие но это бред)
|
и у меня в ie 9 number
Цитата:
|
| Часовой пояс GMT +3, время: 09:42. |