Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   удаление элементов со страницы (https://javascript.ru/forum/events/3253-udalenie-ehlementov-so-stranicy.html)

kuh 31.03.2009 21:18

удаление элементов со страницы
 
На странице есть элементы (ячейки таблицы). Выделяем одну ячейку (это я сделал с помощью onClick и document.getElementById($cell).style.backgroundCol or="Black" ). Затем выделяем другую и в этот момент нужно сравнить содержимое этих двух выделенных ячеек и при совпадении - удалить.

Моя идея:
1) при выделении ячеек менять class name этой ячейки (по ее id)
2) с помощью getElementsByClass найти выделенные ячейки
3) получить доступ к содержимому ячеек
4) удалить эти ячейки в случае совпадения содержимого

Может быть есть более правильные идеи?
Если нет, то буду благодарен за разъяснение реализации шагов моей идеи, хотя бы в общих чертах.

Спасибо

IIIEPJIOK 01.04.2009 00:37

я бы создал объект, например
TSelector = function(){
this.selectedItems = new Array;
}

Далее, добавил ему методы:
addToRange(refTDElement) - добавляет ссылку на ячейку в набор, возвращает кол-во элементов в наборе.
deselect() - удаляет ссылку из набора,
compare() - сравнивает, возвращает true в случае совпадения и false, в противном случае.
deleteCells() - удаляет ячейки из таблицы (ну, или скрывает их, или что там вам надо)
и onClickCell() - обработчик, который повесить на все ячейки
<td onckick="selector.onClickCell(this)"></td>

в итоге получим:
onClickCell: function(refNode){
  if(this.addToRange(refNode) ==  2){
    if(this.compare()){
      this.deleteCells();
    }else{
       this.deselect();
    }
    this.selectedItems = new Array;
  }
}

kuhok 01.04.2009 17:24

Спасибо за идею!
Со всеми методами более-менее понятно, но вот с этим проблема:
addToRange(refTDElement)

Подскажите, как ссылку на ячейку передать в качестве параметра?

kuhok 02.04.2009 16:30

Разобрался, спасибо


Часовой пояс GMT +3, время: 09:34.