【问题标题】:Display HTML code in Javascript string在 Javascript 字符串中显示 HTML 代码
【发布时间】:2012-06-20 23:22:16
【问题描述】:

我希望标题能说明我想要实现的目标。如果没有,请继续阅读!

我目前正在编写一个 Lorem Ipsum 生成器(作为一种学习经验,尽管我可能在我的网站上为 S&G 提供了它)

到目前为止,我已经设法将代码从列表中随机输出到文本框中。我还创建了一个用于创建 Lorem Ipsum 项目符号列表的生成器。 每当有人通过该工具生成一些文本时,我希望有一个带有格式化文本(段落、项目符号等)的框,然后是另一个带有原始 HTML 代码的框,这样设计人员可以直接将代码复制并粘贴到他们的编码程序。到目前为止,我已经整理出了格式化的文本框,但我遇到了原始 HTML 的问题。

这是我目前得到的:

[显然开头有一个 var listArray,但我不会费心添加它。]

var randomList = listArray[(Math.floor(Math.random() *listArray.length))]

document.getElementById("textarea").innerHTML = "<li>" + (randomList) + "</li>" + "<li>" + (randomList) + "</li>" + "<li>" + (randomList) + "</li>";
document.getElementById("textarea-code").innerHTML = "<li>" + randomList + "</li>" + "<li>" + randomList + "</li>" + "<li>" + randomList + "</li>";}

innerHTML 第二行只是第一行的副本,是我要处理的行。

如何让第二行输出:

<li> Line 1 </li>
<li>li Line 2 </li>

放入 HTML 文本框中,而不是将列表项放入项目符号点中?

【问题讨论】:

  • 查看我的编辑源代码,了解如何编写 &lt;li&gt; 或任何其他 HTML 标签。
  • 是的,我只是想出了一个非常相似的方法——真不敢相信我以前没想过!不过谢谢:)

标签: javascript html


【解决方案1】:

我解决了! :D

对于那些感兴趣的人,我对组成 所需的每个字符都使用了 ASCII 代码。

例如:

  • &#60;li&#62;
    

    希望对其他人有所帮助!

  • 【讨论】:

    • 我所做的几乎和你所做的完全一样,但是我必须在 ASCII 代码的每个元素之间加上连字符,否则 StackOverflow 实际上会将它们转换为相应的字符。代码标签也没有多大帮助
    • 我收回了——我重试了一遍,发现我第一次打错了。
    【解决方案2】:

    对于第二行,使用innerText 而不是innerHTML

    document.getElementById("textarea-code").innerText = 'your html code'
    

    【讨论】:

    • 这实际上会使将来的编辑变得更容易——HTML(如 br/)可以在 innerText 部分中使用吗?因为没有实际的列表格式,这一切都会变成一个大段落,所以无论如何我都需要手动分解它
    • innerText,不就是IE吗?
    • @gdoron:不是根据 WebKit Inspector 和 Firebug。看一看。 :) @tristanojbacon:innerText 将根据需要自动对值进行 HTML 编码,因此当您设置 innerText 时,&amp;lt;br /&amp;gt; 将进行 HTML 编码(即转换为 &amp;lt;br /&amp;gt;)。我不确定你是否可以任意插入换行符,但我怀疑没有给出浏览器处理空格的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2017-04-20
    相关资源
    最近更新 更多