从字符串中删除html标记

时间:2014-12-18 14:21:31

标签: javascript jquery

我有一个包含一些html标签的字符串。我必须删除这些标签。

 var str = "<msup> <mi class=\"fm-mi-length-1\" mathvariant=\"italic\">x</mi><span class=\"fm-script fm-inline\" style=\"vertical-align: 1.33em;\"><span mtagname=\"mfrac\" style=\"vertical-align: 0em;\"><span class=\"fm-vert fm-frac\"><table><tbody><tr><td class=\"fm-num-frac fm-inline\"><mn>3</mn></td></tr><tr><td>/<mn>4</mn></td></tr></tbody></table></span></span></span></msup><mo class=\"fm-infix\">+</mo><msup><mi class=\"fm-mi-length-1\" mathvariant=\"italic\">y</mi><span class=\"fm-script fm-inline\" style=\"vertical-align: 1.33em;\"><span mtagname=\"mfrac\" style=\"vertical-align: 0em;\"><span class=\"fm-vert fm-frac\"><table><tbody><tr><td class=\"fm-num-frac fm-inline\"><mn>2</mn></td></tr><tr><td>/<mn>3</mn></td></tr></tbody></table></span></span></span></msup>";

这是我的字符串。我必须删除表,tr,td标签。为此我做了

 var fmt = $(str).find('table, tbody, tr, td').contents().unwrap().end().end();
            eqn = fmt.html(); 

但结果只包含第一个表内容。第二个表的内容没有结果。我的代码有什么问题。

请检查给出的小提琴。

DEMO

请帮忙..谢谢......

3 个答案:

答案 0 :(得分:0)

简单:

$(str).text();

答案 1 :(得分:0)

你在一分钟之前抓住了公牛....使用Alexander 1fmt.text();或$(str).text();

答案 2 :(得分:0)

而不是:

eqn = fmt.html()

只需使用:

eqn = $('<div>').append(fmt).html();

以下是http://jsfiddle.net/t1wtaojz/3/

的示例