从innerHTML仅删除文本

时间:2019-09-12 08:28:44

标签: javascript html

我已经动态生成了HTML,例如:

const content = '<b>some <i>text</i><b>'

如何获取此内容并删除最后2个字母,以获得<b>some <i>te</i><b>?我正在通过el.innerHTML获得此内容。主要思想是,我想保留html的样式,并仅裁剪文本。

1 个答案:

答案 0 :(得分:2)

在HTML上使用正则表达式是problematic

另一种方法是创建一个新元素,将其innerHTML设置为字符串。然后更新i元素的文本内容。

const content = '<b>some <i>text</i><b>';
const span = document.createElement('span');
span.innerHTML = content;
const i = span.querySelector('i');
i.textContent = i.textContent.substring(0, i.textContent.length - 2);
console.log(span.innerHTML);