【发布时间】:2015-10-18 08:44:27
【问题描述】:
在尝试将 Javascript 编辑器 (CKEditor) 编辑的 HTML 插入某个 div 时,我遇到了一个奇怪的问题。在要插入的 HTML 中,双引号被 HTML 实体“替换”。效果很好。
除非“”以内联样式出现 - 然后 jQuery 删除整个内联样式。
我不希望它们被删除。如果可能的话,我更喜欢保留 HTML 实体。问题是为什么会发生这种情况?有什么解决方法吗?
在下面的示例中,我插入了一个文本,该文本应使用常规引号和 HTML 实体转义引号以内联样式使跨度变为红色。
第一行 (div1) 使 span 变为红色,div2 根本不是红色。
window.onload = function() {
$('#div1').html('<span style="color:red;">This text "here" is red</span>, while this is not.' );
$('#div2').html('<span style="color:red;">This text "here" is red</span>, while this is not.' ); }
【问题讨论】:
-
div2 样式无效
style=&quot;color:red;&quot;你是怎么得到这个样式的? -
CKEditor 会自动执行此操作,它会在您编辑时添加内联样式。这是为了帮助避免包含引号的文本出现问题,但在这种情况下会产生问题。
标签: javascript jquery html