javascript - 拆分文本并将其包装在 span 元素中
问题描述
我正在尝试在标签中使用如下所示的句子:
<p>Hello world. Lorem ipsum lorem.</p>
并通过 JS/jQuery 对其进行转换:
<p><span>Hello world.</span> Lorem ipsum lorem.</p>
我唯一想到的是 wrapAll() 方法,但我怎么能确定我可以选择正确的文本 - 所以第一部分包括点 (Hello world.) ?
解决方案
你可以用一个简单的 JS 脚本来做到这一点:
let el = document.querySelect('...')
let str = el.innerText;
let indx = str.indexOf('.',0) + 1;
el.innerText = "<span>${str.substr(0,indx)}</span>${str.substr(indx)}"