Еще вопрос: а может быть решать эту задачу другим способом? Не привязываться к каким либо тегам, а работать с выделенным текстом. Т.е. сохранять его где-то, затем обрабатывать добавляя введенную из всплывающего окна информацию (URL в данном случае) и возвращать модифицированный текст обратно, заменяя выделенный и снимая выделение.
Что-то типа этого возможно?
function getSelectionText() {
var txt = '';
txt = window.getSelection().toString();
const href = prompt("Link URL", "");
txt.value = txt + href;
}
Вариант не работает, но смысл думаю понятен.