Javascript 如何使用document.write()将标记写入字符串?

Javascript 如何使用document.write()将标记写入字符串?,javascript,Javascript,是否可以使用document.write()将标记写入字符串 var myWindow=window.open('','宽度=500,高度=500'); 写下“你好!” 这会写Hello!但是我想要的输出是->Hello!带有标签和如果设置正文的textContent属性,它知道它是文本而不是HTML(因此它会为您编码字符): 当然,只需像在HTML中那样做(因为这是传递给文档的内容。编写)。我也希望标记显示出来。我理解。如果你想在HTML中显示“标记”,你必须使用HTML实体。例如:h1()

是否可以使用document.write()将标记写入字符串

var myWindow=window.open('','宽度=500,高度=500');
写下“你好!”

这会写Hello!但是我想要的输出是->Hello!带有标签
如果设置正文的
textContent
属性,它知道它是文本而不是HTML(因此它会为您编码字符):


当然,只需像在HTML中那样做(因为这是传递给
文档的内容。编写
)。我也希望标记显示出来。我理解。如果你想在HTML中显示“标记”,你必须使用HTML实体。例如:
h1
()对字符串进行编码。为什么要使用
document.write
而不是
document.body.innerHTML
(或者在本例中是
document.body.textContent
,而实际上不必对字符串进行编码)?您可能还需要类似于
myWindow.document.body.textContent='Hello!';
可能也值得一提:您可以使用
document.body.innerHTML
,而不使用过时的
document.write()
“[textContent]将为您编码字符”-不,不会。状态“…在设置时,也不会执行解析,输入字符串被视为纯文本内容。”换句话说,字符保持原样,只是没有作为内容进行分析。@RobG:不,innerHTML不同,html代码取代了硬编码的实体。与纯反射属性(如textarea的.value…@dandavis On设置)相比,innerHTML必须将文本作为标记进行分析,在获取文本时必须生成标记,当我nserted(和parsed)恢复原始标记。因此需要编码来屏蔽标记(例如

var myWindow= window.open('', '', 'width=500, height=500');
document.write("<h1> Hello! </h1>"
document.body.textContent = '<h1> Hello! </h1>`
document.body.innerHTML = '&gt;h1&lt; Hello! &gt;/h1&lt;';