如果您只在 innerHTML 中添加span 标签,则所有样式都应该保留(除非您有您关心的子元素)。
假如说:
- 您的 div 中没有子元素
- 文本内容本身是 html 安全的
- 您有办法找到要包装的字符的索引
(在您的示例中,所有假设似乎都是正确的)
您可以转换原始字符串并使用 .html() 重新注入
由于我不知道你如何选择你关心的索引,我把它留给你,但是,再次在陈述的假设内,你可以这样做:
var my_div = $('some_selector_goes_here');
var original = my_div.text();
var indexes = find_the_indexes(original);
var updated = '', cur_idx = 0;
for (var idx=0; idx<indexes.length; idx++)
{
var index = indexes[idx];
updated += original.substr(cur_idx, index);
updated += '<span>' + original.charAt(index) + '</span>';
cur_idx = index + 1;
}
updated += original.substr(cur_idx);
my_div.html(updated);