【问题标题】:Putting HTML tags through js通过js放置HTML标签
【发布时间】:2014-11-19 17:07:34
【问题描述】:

我需要简单地从我的节点服务器向用户显示一些错误,这是我的代码:

if(text.length > 1){
    text = text.join("<br>");
    console.log("array:",text);
}else{
    text = text[0];
}

然后我做:

myNewDiv.innerHTML = text;

并将其附加到页面,问题是,js将&amp;lt;br&amp;gt;转换为&amp;lt;br&amp;gt;,因此下一个错误不会显示在新行上,而是这样:

some text br other text

【问题讨论】:

  • 如果你不赞成这个问题,你能至少告诉我为什么吗?
  • 您能显示用于将此文本发送到浏览器的代码吗?这可能是编码/解码问题,但我们需要为您的情况找到合适的功能。

标签: javascript html


【解决方案1】:

也许您可以以与节点不同的格式发送 HTML 字符串,但这将在您的客户端代码中以任何方式工作:

如果你使用的是 Jquery,你可以使用:

function DecodeHtmlString(htmlString){
  return $('<div/>').html(htmlString).text();
}

原版JS:

function DecodeHtmlString(htmlString){
  var temp = document.createElement("textarea");
  temp.innerHTML = htmlString;
  return temp.value;
}

【讨论】:

    【解决方案2】:

    从您提供的代码中不清楚您做错了什么,但这是您尝试做的工作版本:

    http://jsfiddle.net/03z6k7ko/

    var text = ['Hello', 'world!'];
    
    if(text.length > 1){
        text = text.join("<br/>");
    }else{
        text = text[0];
    }
    
    document.getElementById('message').innerHTML = text;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-21
      • 2020-10-10
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多