Я хочу знать, как я могу изменить стиль шрифта выделенного текста, используя window.getSelection(), после нажатия на кнопка.
Например, предположим, что у нас есть следующая фраза:
Hello world!
Если я просто выберу из него строку ell и после этого нажму кнопку, то она вернется (в данном случае, например, типа жирный):
Hello world!
Итак, как я мог это сделать?
Моя основная проблема: какой тип переменной я должен конвертироватьwindow.getSelection() изменить стиль шрифта, потому что она возвращает объект, и если бы я это сделал .toString(), это не очень помогло бы.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы хотите окружить выделенный текст новым узлом, к которому вы добавляете новый стиль. Посмотрите этот ответ Как обернуть/окружить выделенный текст элементом
function surroundSelection() {
var span = document.createElement("span");
span.style.fontWeight = "bold";
span.style.color = "black";
if (window.getSelection) {
var sel = window.getSelection();
if (sel.rangeCount) {
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(span);
sel.removeAllRanges();
sel.addRange(range);
}
}
}<input type = "button" onclick = "surroundSelection()" value = "Surround">
<div contenteditable = "true">Hello World</div>Спасибо, это было то, что я искал!
Вы используете элемент
contenteditable?