我有一个 contenteditable 区域,当用户完成编辑后,我会将数据保存到一个文件中。当用户先使用一个浏览器然后使用另一个浏览器时,contenteditables 创建的不同样式会导致代码困惑和不兼容。
我想知道是否有任何方法可以替换 <span style="font-weight:bold">XXX</span>
在 Chrome 中使用“标准”标签创建的标签,例如 <b>xxx</b>
.
提前致谢
最佳答案
你可以试试这个:
$('span').each(function(){ // iterate to the all the spans
if($(this).css('font-weight') == 'bold'){ // check if font is bold
$(this).contents().unwrap().wrap('<b></b>');
} // unwrap the content and wrap it
});
所以,这里发生的是:
- 遍历文档中的所有跨度
- 检查css样式是否为“粗体”
- 如果为真则首先解开它包含的内容并用你选择的标签包装它
所以类似地,您必须分别检查所有其他 css 样式并相应地替换/包装它。
关于Javascript JQuery 替换标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21478950/