Я использую следующий код для установки текста меток с использованием 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()", но ни один из них не работал для меня, пожалуйста, помогите мне, как показать строку, как она есть с пробелами.
Я думаю, вы можете использовать decodeURIComponent()
:
измените это:
return vars;
к этому с decodeURIComponent()
функции decodeURIComponent()
:
return decodeURIComponent(vars);
Вы также можете использовать глобальное замещение для преобразования% в пробелы, если вы не хотите декодировать весь URL.
var text = "this%is%text";
text = text.replace(/\%/g, ' ')
$('[id$=lblQuestionText]').text(text);
или в вашем конкретном случае:
$ ('[id $ = lblQuestionText]'). text (getUrlVars() ["data"]. replace (/\%/g, ''));
Вы должны попробовать с innerHTML
вместо html
и text