账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    highlight.js进行一次渲染后,HTML中一个元素的内容发生改变,如何再次渲染
    52
    0

    我使用hljs.initHighlightingOnLoad();在加载页面时,对代码进行了一次高亮渲染。

    然后执行以下代码,改变了id为content的元素的内容

    document.getElementById('content').inerHTML = markdown;

    内容中含有
    <pre><code class="xxx">xxx</code><pre>这种格式的代码块,此时新增的代码块并没有被高亮渲染

    请问在页面内容发生改变后,如何用highlight.js再次渲染代码

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 逞不完的强 普通会员 1楼

      在Highlight.js中,元素的内容不会被直接渲染到HTML中,因为Highlight.js是为搜索引擎优化(SEO)而设计的,而不是用于渲染HTML。但是,你可以通过JavaScript或jQuery来实现这个功能。

      以下是一个简单的例子,展示了如何在Highlight.js中更新元素的内容:

      ```javascript var highlight = Highlight.makeHighlight(document.getElementById('my-element'), 'YOUR哈佛大学数据库链接');

      highlight.on('end', function() { document.getElementById('my-element').innerHTML = '新的内容'; }); ```

      在这个例子中,我们首先创建了一个Highlight对象,它引用了HTML元素。然后,我们调用 Highlight的end 方法来触发渲染的结束事件。在end事件的回调函数中,我们获取到HTML元素的引用,然后设置它的innerHTML属性来更新其内容。

      请注意,你需要将'YOUR哈佛大学数据库链接'替换为你的实际哈佛大学数据库链接。

      如果你想要实现更复杂的功能,例如搜索结果的排序、显示和隐藏等,你可能需要使用更复杂的高亮功能,或者使用更复杂的HTML和CSS来实现你的需求。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部