За последние 24 часа нас посетили 17714 программистов и 1712 роботов. Сейчас ищут 1830 программистов ...

Не могу удалить элементы (DOM)

Тема в разделе "JavaScript и AJAX", создана пользователем pr0n1x, 11 авг 2006.

  1. pr0n1x

    pr0n1x Активный пользователь

    С нами с:
    30 мар 2006
    Сообщения:
    486
    Симпатии:
    2
    Адрес:
    Киев
    Есть задание на подобии разработать струткуру типа дерево и чтобы оно отображалось на экране. В качестве элемента я выбрал список <ul> при нажатии на который в него вставляется некоторые <li> с данными, вставлять мне получается, но вот удалять эти элементы нет.

    Возле <ul> есть крестик если на него нажимаешь тогда вставляем в список новые <li> если отжимаешь крестик, мне нужно проверить существует ли в этом <ul> какие-то элементы если существуют тогда этот список открыт и при нажатии на крестик его нужно закрыть путем удаления все childNode, но удалять у меня не получается.

    Вот Код:

    Код (Text):
    1.  
    2.  function showCity(cityName, cityId)
    3.  {
    4.     // cityId это идентификатор <ul> списка
    5.     // cityName это просто значение которое нужно выбрать из массива,
    6.     // оно роли не играет
    7.     var el = document.getElementById(cityId).childNodes;
    8.  
    9.     // Перед тем как, что-то добавить нужно все удалить
    10.     // В этот цыкл вообще не заходит
    11.     while(el.firstChild)
    12.     {
    13.         el.removeChild( el.firstChild );
    14.     }
    15.    
    16.     // city это просто массив из которого нужно выбрать значения,
    17.     // он роли не играет
    18.     for (i = 1; i < city.length; i++)
    19.     {
    20.         if(city[i].city == cityName)
    21.         {
    22.             var li = document.createElement("li");
    23.             var liText = document.createTextNode(city[i].churchName);
    24.            
    25.             li.appendChild(liText);
    26.             document.getElementById(cityId).appendChild(li);
    27.         }
    28.     }
    29.  }
    Кто знает в чем дело?
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    var el = document.getElementById(cityId).childNodes - результат не 1 элемент а много - к нему .firstChild не применить.

    уберите выделеное, мб заработает ;)