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

时间:2013-09-24 12:46:04

标签: jquery asp.net text set label

我使用以下代码使用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”之类的空格时,它会显示“this%is%text”

之类的输出

我已经尝试了“.text()”和“.html()”,但它们都没有为我工作,请帮助我如何显示字符串,因为它带有空格。

3 个答案:

答案 0 :(得分:2)

我认为您可以使用decodeURIComponent()功能:

改变这个:

return vars;
使用decodeURIComponent()函数

进行此操作:

return decodeURIComponent(vars);

答案 1 :(得分:0)

JSFiddle:http://jsfiddle.net/TrueBlueAussie/WEkrt/

如果您不想解码整个网址,也可以使用全局替换匹配将%转换为空格。

var text = "this%is%text";
text = text.replace(/\%/g, ' ')
$('[id$=lblQuestionText]').text(text);

或在您的具体案例中:

$('[id $ = lblQuestionText]')。text(getUrlVars()[“data”]。replace(/ \%/ g,''));

答案 2 :(得分:-2)

您应该尝试使用innerHTML代替htmltext