javascript - 自动检测 highlight.js 中为动态添加的元素添加的类

标签 javascript jquery css ckeditor highlight.js

我正在使用 highlight.js 9 并像下面这样添加它

 <script src="highlight/highlight.pack.js"></script>

我正在使用 ckeditor,它会动态添加 highlight.js 类。我需要在 div 中附加内容。当我附加它时,我希望 highlight.js 将检测编辑器使用的语言类并在我自动应用样式将其附加到我的页面。如何实现?

假设我的编辑器中有以下内容:

<pre>
<code class="language-css"><pre> <code>hljs.configure({useBR: true}); $('div.code').each(function(i, e) {hljs.highlightBlock(e)});</code></pre></code>

这导致以下样式:

enter image description here

当我将它附加到我的页面时,我想要与我在编辑器上看到的完全相同的样式。如何做到这一点。

div id='content' 的图像目前没有显示任何样式:

enter image description here

最佳答案

解决了。我必须在 onclick 事件处理程序中使用以下代码:

 $('pre code').each(function(i, block) {
    hljs.highlightBlock(block);
});

完整代码:

CKEDITOR.replace( 'editor1');
var content = $("#content");
function lol(event) {

    var el = CKEDITOR.instances.editor1.getData();
    alert(el);
    var html = $.parseHTML(el);

    content.append(html);

    $('pre code').each(function(i, block) {
        hljs.highlightBlock(block);
    });
}

关于javascript - 自动检测 highlight.js 中为动态添加的元素添加的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34446089/

相关文章:

css - 带有可滚动主体的 Twitter Bootstrap 3 模态

javascript - 如何将数据转换为这样的结构

javascript - 内容更改而不刷新时无法显示正在加载的 GIF 图片

javascript - 单击菜单后将单击事件附加到 HTML

jquery - 仅显示特定 Div 中的元素

jquery - 当绝对定位的元素(部分)离开屏幕时,如何防止鼠标拖动时屏幕滚动?

html - CSS div 溢出 :auto does not work

javascript - 使用 JavaScript 读取远处的图像并获取其元数据

javascript - 错误 : Cannot find module '@discordjs/opus'

javascript - 选择选项的事件绑定(bind)问题(jquery)