Программирование > JavaScript & JScript

Как правильно удалить дочерний объект?

(1/1)

4m@t!c:
На скрепке лежит страница с формой. Форма простая - добавление/удалей полей формы. Хотелось бы узнать насколько глупо/приемлимо сделано добавление/удаление строк в таблице.
Есть строка таблицы, в ней есть ячейки с полями воода информации. мой алгоритм был таким:
1. Передать в функцию номер удаляемой строки.
2. В функции все значения заполненных полей смещаются на одну строку вверх, начиная с удаляемой строки.
3. Удаляется последний дочерний элемент , т.е. строка.
Предложили второй вариант, где удаляются все ячейки строки, а сама строка прячется.
что-то типа

function del_el(del_el_id) {
total_el=document.getElementById("tr-" + del_el_id).childNodes.length;

for(di=0;di<total_el;di++) {
//alert(document.getElementById("tr-" + del_el_id).childNodes[0].nodeName);
del_el_list=document.getElementById("tr-" + del_el_id).childNodes[0];
del_el_list.parentNode.removeChild(del_el_list);
}
document.getElementById("tr-" + del_el_id).style.display=\'none\';
}

И сказали, что глупый у меня вариант решения задачи..

Макс:
так пусть они обоснуют "глупость".
Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а  ID строки, которую надо удалить :

--- Код: ---
         function addRow()
         {
            z++;
            tbody = partrow.parentNode;
            tr = document.createElement("TR");
            tr.setAttribute("id", "tr_"+z);
             .......
             tddelbut.innerHTML=\' Удалить\';
             ....

--- Конец кода ---

(код не проверял)

4m@t!c:

--- Цитировать ---Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а ID строки, которую надо удалить :
--- Конец цитаты ---

Т.е. с логикой все нормально, а огрех в реализации только в том, что я передаю не ID строки, а объект?

Макс:

--- Цитировать ---4m@t!c:
а огрех в реализации только в том, что я передаю не ID строки, а объект
--- Конец цитаты ---

огрехом это называть не буду, просто считаю мой подход более удобным.
Логика ИМХО верная.
Спросил бы сам, что за глупость они нашли. ИМХО оставлять скрытые строки - тоже не лучший вариант

4m@t!c:
Глупость в том, что я смещаю строки, в цикле переписывая содержимое полей ввода.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии