簡體   English   中英

jQuery中的口音和HTML實體

[英]Accents and HTML entities in jQuery

因此,我有一個JSON文件(從API中提取),在此進行一些比較。 我獲取JSON文件的內容,並將其放在某些按鈕上(作為按鈕文本)。 然后,我對按鈕文本和JSON文件中的文本之間的相等性進行比較測試。

但是,這適用於我的99%用例:

我的JSON文件中的某些單詞帶有重音符號(é等)。 當我嘗試在jQuery中進行比較時,即使使用的是:

   $(this).html()

對於我的按鈕文本,相等性測試失敗。 JSON文件中的單詞可能顯示為:

   Frédéric Auguste Bartholdi 

但在我的按鈕上顯示為:

    Frédéric Auguste Bartholdi

我想如果我做一個比較測試,例如:

    if($(this).html() === jsonFile[0])){...}

那可以解決問題,但似乎沒有做到。 為了清楚起見,(這)指的是我的按鈕,我對JSON文件不能做太多事情-不能更改。

有人有什么想法嗎?

很簡單:

function html_entities(str){
    return $('<textarea />').html(str).text();
}
$('div').text(html_entities("Fr&eacute;d&eacute;ric Auguste Bartholdi"));

參見: https : //jsfiddle.net/kilotonna/yy46na0g/

感謝: HTML實體解碼

不要使用$(this).html(),而要使用$(this).text()。 因為.html()-將返回這些unicode的html格式。

您應該嘗試使用$(this).text()而不是$(this).html()

暫無
暫無

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

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