Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2011, 18:04
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Работа с циклом 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();
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2011, 18:15
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Скажите, что больше, "килограмм" или "зелёный"?
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2011, 18:18
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Сообщение от B@rmaley.e><e Посмотреть сообщение
Скажите, что больше, "килограмм" или "зелёный"?
Можно нормально ответить?
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2011, 18:20
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

this.li = document.getElementsByClassName('list-r1');      
for(var i = 0; i <= this.li; i ++)


во первых. getElementsByClassName - не кросбраузерно и исспользование не желательно

во вторых. i <= this.li - wtf? i меньше или равно массив?))
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2011, 18:22
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Сообщение от розовый слоник Посмотреть сообщение
this.li = document.getElementsByClassName('list-r1');      
for(var i = 0; i <= this.li; i ++)


во первых. getElementsByClassName - не кросбраузерно и исспользование не желательно

во вторых. i <= this.li - wtf? i меньше или равно массив?))
Точно, length пропустил, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2011, 18:25
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

я бы на вашем месте сделал бы this.li = document.getElementById('lists-r1').getElementsByTagName('li');
Ответить с цитированием
  #7 (permalink)  
Старый 29.07.2011, 12:57
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

Для обхода коллекции элементов лучше использовать следующий код
for ( var i = 0; this.li[i]; i++ ) {
}


Так коллекция элементов не является массивом, а является объектов, и в IE свойство length может возращать элемент коллекции.
Ответить с цитированием
  #8 (permalink)  
Старый 29.07.2011, 12:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от nikita.mmf
и в IE свойство length может возращать элемент коллекции.
Пример?
Ответить с цитированием
  #9 (permalink)  
Старый 29.07.2011, 13:03
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

<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);
Ответить с цитированием
  #10 (permalink)  
Старый 29.07.2011, 13:13
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

ы туплю
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с циклом faforty Общие вопросы Javascript 2 26.06.2011 21:38
Удаленная работа для JavaScript разработчика yajilt Работа 4 19.03.2011 11:51
Это работа, за неё нужно платить деньги... Kolyaj Оффтопик 20 25.01.2011 20:44
проблема с циклом mAstAk4 Events/DOM/Window 3 06.12.2010 17:47
небольшая работа - интерфейс в ява скрипте :) int9 Работа 0 08.12.2008 22:51