2015-04-07 48 views
0

這是我的代碼。操縱JavaScript變量[HTML]僅顯示文本

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新手,所以只能在DOM中使用html。我需要在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>'; 

它顯示「未捕獲的SyntaxError:意外的標記非法」控制檯

給我一些解決方案,這個請。

+0

你能證明你已經嘗試這樣遠 – atmd

+0

@atmd我以前提出過一個問題,你在這裏有答案。 http://stackoverflow.com/questions/29487516/get-the-text-inside-the-element?noredirect=1#comment47134674_29487516。由於我是JavaScript新手,我無法弄清楚如何做到這一點。 – Subash

回答

1

我希望我嘗試解決您的問題。 這裏是鏈接

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

+0

更改了問題。請看看它。 – Subash

+0

@ user3635719更改了答案 –

1

注入該字符串中使用innerHTML應該給你你想要的輸出,將文本轉換爲HTML元素的DOM。 (東西innterText不會給你)。

here's a jsfiddle to demo

var Text = "First:<div>Second<span> ETC . . ."; 

document.getElementById('something').innerHTML = Text; 
+0

我想我發佈了同樣的東西 –

+0

更改了這個問題。請看看它。 – Subash

0

把它作爲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>