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

Как изменять текст внутри ячейки при нажатии на нее?

Помогите, пожалуста, осуществить следующий функционал:
При нажатии в поле таблицы менять текст внутри <td>.
По дефолту некоторые ячейски выгружаются пустые, некоторые со значением. При нажатии необходимо менять текст1, текст2, текст3, текст4.
  • Вопрос задан
  • 291 просмотр
Подписаться Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
О каких текстах идёт речь:

const text = [
  'hello, world!!',
  'fuck the world',
  'fuck everything',
];

Можно хранить индекс текущего текста для каждой из ячеек:

$('table').on('click', 'td', function() {
  const $this = $(this);
  const index = ($this.data('index') + 1) % text.length;
  $this.text(text[index]).data('index', index);
}).find('td').data('index', -1);

Или, вычислять его непосредственно при клике:

document.querySelector('table').addEventListener('click', ({ target: t }) => {
  if (t = t.closest('td')) {
    t.textContent = text[-~text.indexOf(t.textContent) % text.length];
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы