操作javascript变量[HTML]以只显示文本

Manipulate javascript variable[HTML] to diplay only Text

本文关键字:显示 文本 HTML javascript 变量 操作      更新时间:2023-09-26

这是我的代码。

var Text = "First:<div>Second<span> Text</span></div><p>Third <span>Text</span></p><div>Forth.</div>";

我需要操作变量并只显示文本。

输出应该是这样的:

First :
Second Text
Third Text
Forth 

它应该只在找到块元素时才留下一行。由于我是javascript的新手,所以只有当html在DOM中时,我才能做到这一点。我需要在javascript变量中动态地执行此操作。

编辑:1

你提出的答案是有效的。但它对这个变量不起作用。

var text = '<p class="MsoListParagraph" style="margin-left:.25in;text-align:justify;
text-indent:-.25in;mso-list:l1 level1 lfo2"><!--[if !supportLists]--><span style="font-size: 10pt;">3.<span style="font-stretch: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><!--[endif]--><span lang="EN-IN" style="font-size: 10pt;">Text&nbsp;<b>Text</b>&nbsp;Text.</span><span style="font-size: 10pt;"><o:p></o:p></span></p>';

它在控制台中显示"Uncaught SyntaxError:Unexpected token ILLEGAL"

请给我一些解决方案。

我希望我的尝试能解决你的问题。这是链接

JSFiddle

 var Text = "First:<div>Second<span> Text</span></div><p>Third <span>Text</span></p><div>Forth.</div>";
document.getElementsByTagName('p')[0].innerHTML=Text;

编辑:这是代码中的双引号问题。

JSfiddle2

使用innerHTML将该字符串注入dom应该会得到所需的输出,因为文本将被转换为html元素。(innterText不会给你的)。

这是演示的jsfiddle

var Text = "First:<div>Second<span> ETC . . .";
document.getElementById('something').innerHTML = Text;

将其作为innerHTML放在某个元素中(如果我理解了你想做什么):

function writeText(){
  document.getElementById("ph").innerHTML = "First:<div>Second<span> Text</span></div><p>Third <span>Text</span></p><div>Forth.</div>";
}
<html>
  <body>
    <button onclick="writeText()" >write it</button>
    <div id="ph"></div>
   </body>
</html>