Как добавить текст с пробелами для метки с помощью 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, ''));

Вы должны попробовать с innerHTML вместо html а также text

Другие вопросы по тегам