Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.03.2009, 16:43
Аспирант
Отправить личное сообщение для konstantinopol Посмотреть профиль Найти все сообщения от konstantinopol
 
Регистрация: 11.03.2009
Сообщений: 83

Теперь понял что вы от меня пытались до меня донести.

Вопрос какой из вариантов быстрее раборает ...
Ответить с цитированием
  #12 (permalink)  
Старый 31.03.2009, 16:52
Профессор
Отправить личное сообщение для AzriMan Посмотреть профиль Найти все сообщения от AzriMan
 
Регистрация: 27.02.2009
Сообщений: 215

Сообщение от konstantinopol Посмотреть сообщение
Теперь понял что вы от меня пытались до меня донести.

Вопрос какой из вариантов быстрее раборает ...
я от вас до вас ничего не пытался донести.

насчет быстродействия - мне интересно посмотреть, как вы будете рассуждать. что, по вашему мнению, будет выполняться быстрее? и почему?
Ответить с цитированием
  #13 (permalink)  
Старый 31.03.2009, 17:03
Аспирант
Отправить личное сообщение для konstantinopol Посмотреть профиль Найти все сообщения от konstantinopol
 
Регистрация: 11.03.2009
Сообщений: 83

Я бы сказал что вариант
document.getElementById('Bundesland').innerHTML = '';

будет выполняться быстрее. Потому, что в нем просто берётся элемент Bundesland и его содержимое приравниватся к пустому значеную(незнаю как правильно это описать). А во втором случае надо узнать величину масива и удалять каждый элемент по отдельности, а это занимает время.

Хотелось бы услышать ваше мнение.
Ответить с цитированием
  #14 (permalink)  
Старый 31.03.2009, 17:09
Профессор
Отправить личное сообщение для AzriMan Посмотреть профиль Найти все сообщения от AzriMan
 
Регистрация: 27.02.2009
Сообщений: 215

да. совершенно верно. как приятно, когда человек начинает рассуждать сам.

но только я внесу две поправки.

1. не путайте глаголы "приравниваться" и "присваиваться".

2. величина массива будет вычисляться каждую итерацию. вместе с удалением элемента.


--edited.
приведенный выше мною код будет производить очистку не до конца , если в селекте будет что-то еще кроме options.
для действительно полной очистки нужно проходиться по всем
document.getElementById('Bundesland').childNodes

Последний раз редактировалось AzriMan, 31.03.2009 в 17:12.
Ответить с цитированием
  #15 (permalink)  
Старый 31.03.2009, 17:19
Аспирант
Отправить личное сообщение для konstantinopol Посмотреть профиль Найти все сообщения от konstantinopol
 
Регистрация: 11.03.2009
Сообщений: 83

Да, эти 2 момента я упустил. Впредь буду внимательнее.
Благодарю за потраченое на меня время, теперь я вроде разобрался в этой теме.
Ответить с цитированием
  #16 (permalink)  
Старый 31.03.2009, 17:23
Профессор
Отправить личное сообщение для AzriMan Посмотреть профиль Найти все сообщения от AzriMan
 
Регистрация: 27.02.2009
Сообщений: 215

Пожалуйста. обращайтесь еще.
Ответить с цитированием
  #17 (permalink)  
Старый 31.03.2009, 17:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от AzriMan
BundeslandOptions = document.getElementById('Bundesland').options;
for (var i=0; i<BundeslandOptions.length; i++)
    removeElement(BundeslandOptions[i]);
А только мне кажется, что в данном случае удалится только половина элементов через одного?
Ответить с цитированием
  #18 (permalink)  
Старый 31.03.2009, 17:33
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

это частая ошибка при удалении... Надо использовать while
Ответить с цитированием
  #19 (permalink)  
Старый 31.03.2009, 17:53
Профессор
Отправить личное сообщение для AzriMan Посмотреть профиль Найти все сообщения от AzriMan
 
Регистрация: 27.02.2009
Сообщений: 215

да, совершенно верно. удалится половина элементов через одного.
был вопрос про options, я и написал для options.

потом через несколько постов внес правку:

--edited.
приведенный выше мною код будет производить очистку не до конца , если в селекте будет что-то еще кроме options.
для действительно полной очистки нужно проходиться по всем
document.getElementById('Bundesland').childNodes


но, можно и через while. по сути, через while, даже, будет быстрее
Ответить с цитированием
  #20 (permalink)  
Старый 31.03.2009, 17:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

AzriMan,
он удалит options через одного.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
Хранимая область данных. PolarWolf Общие вопросы Javascript 17 14.01.2009 18:25
Проблема с возвращением данных с сервера IgorN Общие вопросы Javascript 2 26.11.2008 13:58
Сохранение данных на стороне клиента средствами Javascript baal1988 Events/DOM/Window 4 24.08.2008 21:32