【问题标题】:How to render html partially inside div?如何在 div 中部分呈现 html?
【发布时间】:2017-11-28 20:52:56
【问题描述】:

我有一个 div,我想在这个 div 中设置一些文本。问题是我的文本包含 HTML 元素,我不希望呈现所有这些元素。我的意思是某些元素必须呈现为 HTML。

有没有办法创建这样的 div 内容?

我想创建一个如下所示的 div 元素;

<div id="bodyContent">         
</div>

使用html方法设置无效。

var myHTMLContentPart1 = "<HTML><BODY>";
var myHTMLContentPart2 = "<span>hello</span>";
var myHTMLContentPart3 = "</BODY></HTML>";

$("#bodyContent").html(?);

编辑:

【问题讨论】:

  • 我认为他想将“引号”中的部分输出为纯文本,但将跨度输出为 HTML。
  • 是吗? 问题是我的文本包含 HTML 元素,我不希望呈现所有这些元素。我的意思是某些元素必须呈现为 HTML。 是什么意思?
  • 我同意它含糊不清,需要澄清一下,我的理解是他的意思是他混合了一些他想呈现为 HTML 的标签和一些他想呈现为文本的标签(即“我不'不希望所有这些元素都被呈现为[作为 HTML]”我解释为他只希望一些元素被呈现为 HTML,而一些元素只显示为文本)。但是,这只是我的理解,可能完全错误!
  • @delinear 是的。我希望 span 元素呈现为 HTML,而不是 HTML 和 BODY 元素。
  • 该编辑根本没有澄清这一点

标签: javascript jquery html


【解决方案1】:

我建议你使用regex 来删除htmlbody 标签,你也可以像&lt;\/?tagname&gt; 这样添加任何你想删除的标签

html = '<html><body><span>Some Text</span></body></html>';
clean = html.replace(/<\/?html>|<\/?body>/g, '');
console.log(clean);

// For your code

var myHTMLContentPart1 = "<HTML><BODY>";
var myHTMLContentPart2 = "<span>hello</span>";
var myHTMLContentPart3 = "</BODY></HTML>";

var html = myHTMLContentPart1 + myHTMLContentPart2 + myHTMLContentPart3;

clean = html.replace(/<\/?html>|<\/?body>/g, '');

$("#bodyContent").html(clean);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="bodyContent">  
</div>

【讨论】:

  • html 和 body 元素只是示例。它可以是任何 html 元素。
  • @hellzone 你在 cmets 中说过,你想要 span,然后删除 htmlbody!,现在怎么办?说明你到底想要什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2011-09-09
  • 2013-04-13
  • 1970-01-01
相关资源
最近更新 更多