【发布时间】:2017-07-18 12:39:09
【问题描述】:
var 中包含一个大的 HTML 字符串。我用它写信给innerHTML。
第一个示例(使用反引号语法)是最简单的,但在 Internet Explorer 11 中不起作用。
有没有办法让第一个示例在 Internet Explorer 11 中运行,而无需使用数组或换行符?
不能在 Internet Explorer 中工作
反引号`
https://jsfiddle.net/qLm02vks/
<div id="display"></div>
var message = `
<p>this</p>
<p>is</p>
<p>a</p>
<p>multiline</p>
<p>string</p>
`;
// Write Message
var display = document.getElementById('display');
display.innerHTML = message;
在 Internet Explorer 中工作
数组连接
https://jsfiddle.net/3aytojjf/
var message =
['<p>this</p>',
'<p>is</p>',
'<p>a</p>',
'<p>multiline</p>',
'<p>string</p>'
].join('\n');
在 Internet Explorer 中工作
单引号 ' 带换行符 \
https://jsfiddle.net/5qzLL4j5/
var message =
'<p>this</p> \
<p>is</p> \
<p>a</p> \
<p>multiline</p> \
<p>string</p>'
;
【问题讨论】:
-
可以使用多行cmets和
Function.toString()... -
查看这个答案的想法是将 HTML 块保留在 HTML 中不可见的
<script>容器中,然后在运行时在 JS stackoverflow.com/a/16270807/961631 中使用其innerHTML
标签: javascript jquery html internet-explorer