2013-03-11 2 views
1

Я хотел бы заменить текст на nav с помощью jQuery. Я знаю, как сделать замену, но некоторые из моих типов имеют знаки акцента на испанский и французский языки. Кто-нибудь знает ссылку на преобразование их в кодировку для JS? Это мой код:Использование специальных символов с jQuery

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

С & oacute; с акцентом. Я пробовал% B3

+3

Вы должны использовать 'метод html' вместо' Text'. – undefined

ответ

1

Вы должны использовать метод html вместо метода text.

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

Обратите внимание, что IE8 и ниже делать не поддерживает метод trim, вы можете использовать вместо JQuery $.trim функцию полезности.

+0

+1 для предупреждения о '.trim()'. –

+0

Спасибо, что работает! Способ, которым вы показываете метод, который работает с IE8? также у меня будет несколько замен, возможно ли это сделать в одной и той же функции? – wgoodman

+0

@wgoodman Приветствую вас, да, это работает в IE8 и ниже, метод 'html' выполняет итерацию по всем выбранным элементам, вы можете изменить селектор и заменить все символы. – undefined

1

Если вы хотите использовать объект html ó, то вы должны изменить вызов на .text() на .html(), как предлагает @undefined.

Вы также можете использовать представление символа Юникода символа - \u00F3 и продолжать использовать .text(). Для строки вы должны использовать "D\u00F3nde".

Вы также можете просто использовать символ ó и использовать "Dónde" для строки. Вам просто нужно вставить его в свой код, если вы не можете ввести его напрямую.

Demo on jsfiddle

+0

+1 Хороший ответ. – undefined

+0

Это отличный ответ, спасибо! – wgoodman

+1

@ wgoodman - Добро пожаловать. Вы должны принять ответ и/или отложить ответ, если это будет полезно. Похоже, вы задали несколько вопросов и сказали спасибо, но не приняли никаких ответов или не поддержали их. –

Смежные вопросы