简体   繁体   English

使用jQuery删除HTML标签

[英]Html tag remove using jquery not working properly

I have a string like this: 我有一个像这样的字符串:

var str = "x<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">3/2}</span></span></span>+y<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">7/8}</span></span></span>";

From this I want to print x^{3/2}+y^{7/8} 我要从中打印x ^ {3/2} + y ^ {7/8}

For this I tried like this: 为此,我尝试这样:

res1=$(str).find('span').contents().unwrap().end().end();


alert(res1.html());

But this gives ^{3/2} only. 但这仅给出^ {3/2} The x and second part is missing( +y^{7/8} ). x和第二部分缺失( +y^{7/8} )。

How can I get the required result as x^{3/2}+y^{7/8} . 我怎样才能得到所需的结果x^{3/2}+y^{7/8}

Please help me... 请帮我...

Just try this... 试试这个...

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
    var str = 'x<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">3/2}</span></span></span>+y<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">7/8}</span></span></span>';
    jQuery(function(){
        jQuery('#test').html(str).hide();
        alert(jQuery('#test').html());

    });
</script>

<div id="test"></div>

This may help you. 这可能对您有帮助。

You can just make it a part of temporary div and then use text on it, which will return what you want. 您可以将其设置为临时div的一部分,然后在其上使用text ,这将返回您想要的内容。

var str = 'x<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">3/2}</span></span></span>+y<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">7/8}</span></span></span>';
console.log($('<div />').html(str).text());

You must escape quotes within quotes of the same type. 您必须在相同类型的引号内对引号进行转义。 I just avoid them 我只是避免他们

DEMO 演示

var str = "x<span>^{<span style='vertical-align: 0em;'><span class='fm-vert fm-frac'>3/2}</span></span></span>+y<span>^{<span style='vertical-align: 0em;'><span class='fm-vert fm-frac'>7/8}</span></span></span>";
alert($('<div />', { html: str }).text());

i also do this sometimes to keep html strings readable: 我有时也会这样做,以保持html字符串的可读性:

var str = ["x<span>^{",
              "<span style='vertical-align: 0em;'>",
                  "<span class='fm-vert fm-frac'>3/2}</span>",
              "</span>",
           "</span>",
           "+y<span>^{",
              "<span style='vertical-align: 0em;'>",
                  "<span class='fm-vert fm-frac'>7/8}</span>",
              "</span>",
           "</span>"].join('');

alert($('<div />', { html: str }).text());

Have you tried 你有没有尝试过

str.replace(/<(|\/)spa[^>]*>/g, '');

?

var str = 'x<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">3/2}</span></span></span>+y<span>^{<span style="vertical-align: 0em;"><span class="fm-vert fm-frac">7/8}</span></span></span>';

console.log(str.replace(/<(|\/)span[^>]*>/g, ''));

JSFiddle Here JSFiddle在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM