如何使用jquery向标签添加带空格的文本?

如何使用jquery向标签添加带空格的文本?,jquery,asp.net,text,set,label,Jquery,Asp.net,Text,Set,Label,我使用以下代码使用jquery设置标签的文本,jquery工作正常,但当字符串包含空格时,它会在空格处显示“%”: function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for (var i = 0; i < hashe

我使用以下代码使用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"]);
    }
函数getUrlVars(){ var vars=[],散列; var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&'); for(var i=0;i 当字符串包含“This is text”这样的空格时,它会显示“This%is%text”这样的输出。


我已经尝试了“.text()”和“.html()”但是没有一个对我有效,请帮助我如何显示带有空格的字符串。

你应该尝试使用
innerHTML
而不是
html
text
我认为你可以使用
decodeURIComponent()
函数:

return decodeURIComponent(vars);
更改此项:

return vars;
使用
decodeURIComponent()
函数执行此操作:

return decodeURIComponent(vars);
JSFiddle: 如果不想解码整个URL,还可以使用全局替换匹配将%转换为空格

var text = "this%is%text";
text = text.replace(/\%/g, ' ')
$('[id$=lblQuestionText]').text(text);
或者在您的具体情况下:


$('[id$=lblQuestionText]')。文本(getUrlVars()[“data”]。替换(/\%/g')

用一个更简单的选择器来代替这种奇特的可怕的东西怎么样?我敢打赌你的选择器是错误的。@Virus721选择器有什么问题?你使用的是来自URL的文本。。。空格被编码为%20,或者在本例中它只显示%(奇数!)。。。字符串替换将修复这一问题,否则使用解码组件NNERHTML不是JQuery方法。他可能指的是元素方法,例如$('[id$=lblQuestionText]')[0].innerHTML,但这也不起作用。您使用它的概念不起作用,但当我将它用作“$('[id$=lblQuestionText]')。html(decodeURIComponent(getUrlVars()[“data”]);“它对我起作用。”