Как удалить теги HTML выделенного текста с помощью JavaScript / jQuery?

В моем приложении (базовый текстовый редактор WYSIWYG) у меня есть кнопка жирного шрифта, которая работает, но мне также нужно иметь возможность удалять текст жирным шрифтом.

У кого-нибудь есть идеи как это сделать?


Мой код

function bolden ()
{ 
    var range = window.getSelection().getRangeAt(0);
    var newNode = document.createElement("b");

    range.surroundContents(newNode);
}

function unbolden ()
{
    var range = window.getSelection().getRangeAt(0);

    $(range).contents().unwrap()
}

1 ответ

Решение

Пытаться

function unbolden() {
    var range = window.getSelection().getRangeAt(0);
    var node = $(range.commonAncestorContainer)
    if (node.parent().is('b')) {
        node.unwrap();
    }
}

Примечание. Если выбранный диапазон находится под b элемент, то все содержимое элемента будет развернуто, а не только выделенный текст

Другие вопросы по тегам