Задать вопрос

Как обратиться к соответстующему элементу в DOM дереве?

Повесил событие , чтобы редактировать записи в TODO . но редактирует только 1 элемент.
( хотел обращаться через ключ в DATA атрибуте, который хранится в LocalStorage , но цифра противоположная индексу элемента. Если смотреть на список как массив. )

Как обраться именно к тому элементу , по которому нажимаю ? вот выборка самой функции. и ссылка на реп.
https://github.com/vanholler/todo/tree/master/js
function editItem () {
         debugger;
     event.preventDefault()
           var value2 = doc.getElementById('todo');
            var edit = doc.createElement('input');
//        var   key_attr_global_var = item.getAttribute('data-key'); 
         
          var vallet = doc.getElementById('todo');    // тут ошибка , не могу обратиться к нужному элементу
          // буду обращаться к ключу атрибута , чтобы распознать на какой элемент нажал [key_glob]
         
             edit.classList.add('editor');
             vallet.appendChild(edit);
              edit.value =  sodo;   // сюда вставить переменную со значение которое взяли из списка li
             edit.addEventListener('keyup', key);
         
         
function key(event) {
   if (event.which == 13 || event.keyCode == 13) {    //  по нажатию Enter сохранить
             
           var  val_ed = edit.value;
           edit.remove();
iitt.getElementsByTagName('span')[0].innerHTML = val_ed;   // тут возращаем значение в li
     sodo  =  val_ed ;                                    // тут обновляем переменую sodo , чтобы можно было повторно редактировать
   }else {
  return false;
}
}; // функция key
}; // функция editItem
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
Exploding
@Exploding
wtf?
Что-то вообще тут намудрили такого))
Зачем вы создаете 2 идентичные переменные value2 и через строку сразу же vallet?
Может быть проще редактируемым элементам установить класс и на него повесить обработчик события, в котором this будет вашим искомым элементом?
И зачем edit-ы разные пихать, если есть contentEditable?
Такое должно что-то получиться, как я понимаю?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 14:45
25000 руб./за проект
18 дек. 2024, в 14:43
25000 руб./за проект
18 дек. 2024, в 14:22
750 руб./за проект