簡體   English   中英

使用jQuery刪除HTML標簽

[英]Html tag remove using jquery not working properly

我有一個像這樣的字符串:

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>";

我要從中打印x ^ {3/2} + y ^ {7/8}

為此,我嘗試這樣:

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


alert(res1.html());

但這僅給出^ {3/2} x和第二部分缺失( +y^{7/8} )。

我怎樣才能得到所需的結果x^{3/2}+y^{7/8}

請幫我...

試試這個...

<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>

這可能對您有幫助。

您可以將其設置為臨時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());

您必須在相同類型的引號內對引號進行轉義。 我只是避免他們

演示

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());

我有時也會這樣做,以保持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());

你有沒有嘗試過

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在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM