2015-02-06 144 views
1

使用jquery text()函數刪除字符串中的所有HTML標籤?刪除帶有文字的HTML標籤

我有HTML字符串像這樣:
myContent = '<div id="test">Hello <span>world!</span></div>';


我想生成jQuery的輸出是這樣的:
Hello

我已經檢查this問題,但找不到我的答案。請讓我知道,如果它的任何其他問題的重複。

任何幫助表示讚賞。提前致謝。

+0

耶,現在我知道了 – 2015-02-06 08:46:02

+2

'$(爲myContent).find( '跨')刪除().end()。text()' – Satpal 2015-02-06 08:47:30

+0

@Satpal ..這將從DOM中刪除span元素 – 2015-02-06 08:52:19

回答

1

你可以做這樣的事情

var myContent = '<div id="test">Hello <span>world!</span></div>'; 

var $tmp = $(myContent); 
myContent = $tmp.contents().filter(function() { 
    return this.nodeType == 3; 
}).text(); 

console.log(myContent) 

另一種方式是

var myContent = '<div id="test">Hello <span>world!</span></div>'; 

var $tmp = $(myContent); 
$tmp.find('*').remove(); 
myContent = $tmp.text(); 
+0

第二個人訣竅。謝謝! – Parixit 2015-02-06 08:54:09

0
var myContent = '<div id="test">Hello <span>world!</span></div>'; 

alert($(myContent).text()); 

或者您也可以使用這種方式也

$(document).ready(function() { 
    var myContent = '<div id="test">Hello <span>world!</span></div>'; 
    alert(myContent.replace(/(<([^>]+)>)/ig,"")); 
}); 
+0

這不起作用。爲什麼人們會爲這些非工作答案投票! – Parixit 2015-02-06 09:01:44

1

如果元素是頁面上的dom元素,那麼這個解決方案是有效的。簡單的解決方案。 http://jsfiddle.net/u60b2fn1/1/

$(function(){ 
    var str= $('#test').text() 
    str = str.replace($('span').text(), ""); 
    alert(str); 

}); 

如果有一個字符串,如:。 var myContent = '<div id="test">Hello <span>world!</span></div>'; 然後satpal已經回答了這個在fiddle

+0

謝謝!從這個想法了! – Parixit 2015-02-06 08:54:34