我已经动态生成了HTML,例如:
const content = '<b>some <i>text</i><b>'
如何获取此内容并删除最后2个字母,以获得<b>some <i>te</i><b>
?我正在通过el.innerHTML
获得此内容。主要思想是,我想保留html的样式,并仅裁剪文本。
答案 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);