2013-03-11 67 views
1

我想用jQuery替換nav中的文本。 我知道如何做替換,但我的一些類型有西班牙語和法語重音標記。 有誰知道將其轉換爲JS編碼的參考? 這是我的代碼:在jQuery中使用特殊字符

var d = $('.navItem3'); 
d.text(d.text().trim().replace(/Where/i, "Dónde")); 

Withó是帶口音的o。 我試過%B3

+3

您應該使用'html'方法而不是'text'。 – undefined 2013-03-11 20:11:00

回答

1

你應該用html方法代替text方法。

$('.navItem3').html(function(i, oldHTML){ 
    return $.trim(oldHTML).replace(/.../gi, "..."); 
}); 

注意,IE8及以下做不支持的trim方法,你可以使用jQuery $.trim效用函數。

+0

對於'.trim()'的警告+1。 – 2013-03-11 20:30:03

+0

謝謝你的作品!您顯示的方法與IE8一起使用的方法是什麼?我也將有多個替代品,是否有可能在同一個功能? – wgoodman 2013-03-11 20:41:23

+0

@wgoodman歡迎您,是的,它適用於IE8及以下版本,'html'方法遍歷所有選定的元素,您可以更改選擇器並替換所有字符。 – undefined 2013-03-11 20:44:16

1

如果您想使用html實體ó,那麼您應該將呼叫更改爲.text().html(),如@undefined建議。

您還可以使用ó字符的unicode表示形式,即\u00F3,並繼續使用.text()。您將使用"D\u00F3nde"作爲字符串。

你甚至應該可以直接使用ó字符並使用"Dónde"作爲字符串。如果無法直接輸入,只需將其粘貼到代碼中即可。

Demo on jsfiddle

+0

+1好答案。 – undefined 2013-03-11 20:29:47

+0

這是一個很好的答案,謝謝! – wgoodman 2013-03-11 20:54:28

+1

@wgoodman - 不客氣。如果有幫助,您應該接受答案和/或提出答案。看起來您已經提出了幾個問題,並表示感謝,但沒有接受任何答案,也沒有接受任何答案。 – 2013-03-11 21:11:13