Я хотел бы удалить и добавить тег <b>
к выделенному тексту, просто щелкнув по нему.
Я уже могу заключить выделенный текст в тег <b>
с помощью:
if (window.getSelection)
{
selection = getSelection();
var newNode = document.createElement("b");
range.surroundContents(newNode);
}
Теперь, когда я хотел бы иметь метод удаления тега <b>
, который я добавил ранее,но обычно показанный метод использования range.commonAncestorContainer
дал бы мне самого низкого родителя типа <div>
.
В рамках отладки я просто изменил код, который использовал для добавления тега <b>
(чтобы сделатьконечно, у меня был тег, я также сначала добавил его) для удаления родительского узла.
if (window.getSelection) {
selection = getSelection();
var newNode = document.createElement("b");
range.surroundContents(newNode);
node = range.commonAncestorContainer;
node.remove();
}
Это удалит родительский элемент <div>
недавно добавленного тега <b>
вместо только <b>
сам тег.
Для справки, вот HTML:
<div contenteditable="true" id="input" class="inputblock" onclick="getClick()" onkeypress="changeNodeType(event)" data-text="Please paste your text here."></div>
Тег <b>
будет создан в тексте, вставленном в показанный <div>
.
Тот факт, что он также удаляет контент, можно игнорировать.Я найду способ поработать с этим.