Как добавить текст с пробелами для метки с помощью jquery?
Я использую следующий код для установки текста метки с помощью jquery, который работает нормально, но когда строка содержит пробел, она показывает "%" на месте пробела:
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
function setText() {
$('[id$=lblQuestionText]').html(getUrlVars()["data"]);
}
если строка содержит пробел, например "Это текст", то выводит результат "this%is%text"
Я уже пробовал ".text()" и ".html()", но ни один из них не работал для меня, пожалуйста, помогите мне, как показать строку с пробелами.
3 ответа
Я думаю, что вы можете использовать decodeURIComponent()
функция:
изменить это:
return vars;
к этому с decodeURIComponent()
функция:
return decodeURIComponent(vars);
JSFiddle: http://jsfiddle.net/TrueBlueAussie/WEkrt/
Вы также можете использовать глобальное сопоставление замены, чтобы преобразовать% в пробелы, если вы не хотите декодировать весь URL.
var text = "this%is%text";
text = text.replace(/\%/g, ' ')
$('[id$=lblQuestionText]').text(text);
или в вашем конкретном случае:
$ ('[id $ = lblQuestionText]'). text (getUrlVars () ["data"]. replace (/ \% / g, ''));