我有这行Javascript代码应该显示行
document.write(\" <textarea name=\"Text1\" cols=\"+col+\"rows=\"+row+\" id=\"textbox\" style=\"HelveticaNeue-Light\">\");
这是通过使用document.write
完成的。所以它基本上是
document.write("document.write(\" <textarea name=\"Text1\" cols=\"+col+\"rows=\"+row+\" id=\"textbox\" style=\"HelveticaNeue-Light\">\");");
首先,我将上面的字符串传递给一个数组,然后在程序中使用document.write
显示它。
问题在于,当显示它时,它实际上是一个文本框并显示它。我相信这种情况正在发生,因为HTML只是通过并检查标签,无论它们在引号中的位置等等。
我该如何解决这个问题?我只想显示实际的行,而不是行的输出。反正有没有这样做?我可以使用与document.write
不同的内容吗?我可以将它输出到只显示它的文本框吗?那够了吗?
答案 0 :(得分:1)
您需要转义标记。这些符号:Pkg-config
<
必须编码为>
<
。
您的示例应与此类似:
>
答案 1 :(得分:1)
将<
改为<
而将>
改为>
试试这个:
document.write("document.write(\" <textarea name='Text1' cols=\"+col+\" rows=\"+row+\" id='textbox' style='HelveticaNeue-Light'>\");");
答案 2 :(得分:0)
您可以通过设置innerText
:
var myDiv = document.getElementById('myDiv');
myDiv.innerText = '<p>These p tags will be displayed as text</p>';
答案 3 :(得分:0)
您对HTML进行HTML编码,就像这样
document.write("document.write(\" <textarea name=\"Text1\" cols=\"+col+\"rows=\"+row+\" id=\"textbox\" style=\"HelveticaNeue-Light\">\");".replace('<', '<').replace('>', '>'));