Атрибут contenteditable тега <th>


Описание

Атрибут contenteditable в теге <th> позволяет сделать содержимое заголовка таблицы редактируемым прямо в браузере. Это булевый атрибут, который может быть полезен для интерактивных таблиц с возможностью редактирования данных.

Пример использования:
<table border="1"> <tr> <th contenteditable="true">Редактируемый заголовок</th> <th>Обычный заголовок</th> </tr> <tr> <td contenteditable="true">Редактируемая ячейка</td> <td>Обычная ячейка</td> </tr> </table>

Значения атрибута:

Значение Описание Поведение
true Разрешает редактирование Заголовок можно редактировать
false Запрещает редактирование Заголовок нельзя редактировать (по умолчанию)
(пусто) Эквивалентно true Заголовок можно редактировать

Особенности работы:

  • Изменения сохраняются только в DOM (не автоматически на сервер)
  • Работает во всех современных браузерах
  • Можно комбинировать с другими атрибутами таблицы
  • Поддерживает стандартные команды редактирования (Ctrl+B, Ctrl+I и т.д.)

Рекомендации:

  • Используйте JavaScript для сохранения изменений
  • Добавляйте визуальные подсказки для редактируемых ячеек
  • Ограничивайте редактирование только нужными ячейками
  • Проверяйте вводимые данные перед сохранением

Ограничения:

  • Нет встроенной возможности отмены изменений (undo)
  • Ограниченное форматирование при редактировании
  • Изменения не сохраняются автоматически
  • Может конфликтовать с некоторыми CSS-стилями

Пример с CSS-оформлением:

<style> [contenteditable="true"] { background-color: #fff8e1; padding: 5px; border: 1px dashed #ffc107; } [contenteditable="true"]:focus { background-color: #fff; border: 1px solid #ffc107; outline: none; } </style> <table border="1"> <tr> <th contenteditable="true">Редактируемый заголовок</th> <th>Обычный заголовок</th> </tr> </table>

Примечание: Для сложных редакторов таблиц рассмотрите:

  • Специализированные библиотеки (Handsontable, Tabulator)
  • Реализацию более сложного управления через JavaScript
  • Систему проверки вводимых данных