2017-07-07 88 views
-6

一個字符串的內容這是我的代碼用JavaScript編寫的:刪除HTML標記和使用jQuery

var my_text = '<span>Hi,</span>i am superman'; 

我想刪除跨度標籤,並從mytext它的內容,並將其存儲在一個新變量一個使用jQuery的字符串。所以結果應該是:'i am superman'在新的一個。

回答

0

這個簡單的字符串操作真的沒有理由涉及JQuery。保存JQuery做JQuery擅長的東西。

var my_text = '<span>Hi,</span>i am superman'; 
 

 
var result = my_text.split("</span>"); 
 
console.log(result[1]);

+3

這是非常脆IMO,如果此字符串是從頁和結束標記來究竟是什麼樣子'< /span >'? – jackarms

+0

答案可以適用於不同的用例,但重點是可以通過字符串解析來解決這個問題。 –

+0

它可以,但不是jQuery的字符串解析好嗎? – jackarms

-1

您可以使用正則表達式這樣my_text.replace(/<span>.*<\/span>/, '')

+2

如果內容是'0 4',則OP會預期'0 2 4',但是您的代碼將返回'0 4' –

4

雖然有可能實現,需要使用什麼正則表達式,這不是很好的做法這樣做。

相反,您可以解析HTML以檢索所需的文本節點。正如您所標記的jQuery的,這裏有一個工作示例:

var my_text = '<span>Hi,</span>i am superman'; 
 

 
var text = $('<div />').html(my_text).contents().filter(function() { 
 
    return this.nodeType == 3 && this.nodeValue; 
 
}).text(); 
 

 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>