2015-02-06 100 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