Как можно изменить текст в элементе, который имеет возможность редактирования (атрибут contentEditable) с помощью программного кода?

Как можно удалить последние n символов перед символом-разделителем ввода данных в поле div с атрибутом contentEditable? Задача заключается в том, что при вставке ссылки после выбора пользователя из списка, нужно удалить символы текста, находящиеся перед символом #. Пример можно увидеть во фрагменте кода ниже.
  • 23 апреля 2024 г. 20:20
Ответы на вопрос 1
Для изменения текста в элементе с атрибутом contentEditable можно использовать свойство innerHTML. Например, чтобы изменить текст в элементе с id "editableElement":

```javascript
document.getElementById("editableElement").innerHTML = "Новый текст";
```

Чтобы удалить последние n символов перед символом-разделителем (#) ввода данных в поле div с атрибутом contentEditable, можно использовать следующий код:

```javascript
function удалитьПоследниеNСимволов() {
  let div = document.getElementById("editableElement");
  let текст = div.innerHTML;
  let index = текст.lastIndexOf('#');
  if (index !== -1) {
    let новыйТекст = текст.substring(0, index);
    div.innerHTML = новыйТекст;
  }
}
```

При вызове функции удалитьПоследниеNСимволов() будет удалено все символы перед символом "#". Например, если текст в поле div был "Пример текста #ссылка", после вызова функции текст изменится на "Пример текста #".
Похожие вопросы