删除包含在其中的文本的HTML标记

时间:2015-02-06 08:43:59

标签: javascript jquery html

使用jquery text()函数删除字符串中的所有HTML标记?

我有这样的HTML字符串:
myContent = '<div id="test">Hello <span>world!</span></div>';


我想从jquery生成输出,如下所示:
Hello

我查了this个问题,但找不到答案。如果有任何其他问题的副本,请告诉我。

任何帮助表示赞赏。提前谢谢。

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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

中回答了这个问题

答案 2 :(得分:0)

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

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

或者您也可以这样使用IT

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