javascript - dom:innerHTML 调用不显示代码
问题描述
我有这个html:
<h3 id="this-is-title">This is title</h3>
<p><a name="abcde"></a></p>
<pre lang="java" class="prettyprint">
class NeoEach {
static <T, V, E> void Each(int limit, Iterable<T> i, Asyncc.IEacher<T, E> m, Asyncc.IEachCallback<E> f) {
final CounterLimit c = new CounterLimit(limit);
final ShortCircuit s = new ShortCircuit();
final var iterator = i.iterator();
RunEach(iterator, c, s, m, f);
handleSameTickCall(s);
}
}
</pre>
当它作为index.html
文件加载时,它显示如下:
但是当我像这样设置 dom 元素的 innerHTML 时:
fetch('https://async-java.github.io/md/html-from-md.html')
.then(r => {
const el = document.getElementById('foo');
return r.text().then(v => {
el.innerHTML = v; // this is good
});
});
它显示如下:
我不知道为什么它不起作用,有人知道为什么吗?
当我检查 dom 时,HTML 看起来不错:
解决方案
如果这是您的实际代码,那么您有一个div#foox但您正在尝试设置#foo的 innerHTML 。所以
const el = document.getElementById('foox');
代替
const el = document.getElementById('foo');
编辑
如果您使用 Google 的代码美化库,请遵循 HTML5 约定,将元素包装在<code>
元素内<pre>
(GitHub - google/code-prettify)。
<pre class="prettyprint"><code class="language-java">...</code></pre>
推荐阅读
- tensorflow - tensorflow中变量初始化后的OOM错误
- java - Java错误的参数数量
- c# - 从批处理文件启动 WPF 应用程序时,mainWindow_Closing 事件不起作用
- swift - 将数据传递给由外部事件触发的 ViewController
- php - php。在 /tmp 下上传临时文件的权限。如何配置
- json - Node.js GET 请求有时会收到 HTML 文档而不是 JSON 并崩溃
- python - Tkinter 按钮未注册点击
- python - 用 Python 绘制简单的图形
- java - 活动视图模型在旋转时重新创建
- oracle - 密码参数 Oracle Apex