如何用"%20"替换空间在javascript" for"声明?

时间:2015-07-14 19:20:48

标签: javascript blogger

我在谷歌博客上有这个脚本。进入for语句我想添加一部分用"%20"替换空格的代码。我的问题是我无法想象语法。任何的想法?谢谢!

//<![CDATA[

    function showLabels(json){
        var label = json.feed.category;
        document.write('<div id="filters" class="portfolioSection">');
        document.write('<div>');
        document.write('<ul>');

        document.write('<li class="title">LABELS:</li>');
        document.write('<li><a class="current" href="#Blog1" data-filter="*">All</a></li>');
        document.write('<li><a class="no_labels" href="#Blog1" data-filter=".no-labels">no labels</a></li>');

        for (var i = 0; i < label.length; i++){
            document.write('<li><a href="#Blog1" data-filter=".' + label[i].term + '">' + label[i].term + '</a></li>');
        }

        document.write('<span class="show_ico icon-remove"/>');
        document.write('</ul>');
        document.write('</div>');
        document.write('</div>');
    }   

    document.write('<scr' + 'ipt src="' + HomePageUrl + '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=showLabels"><\/scr' + 'ipt>');
//]]>

已编辑:位于label[i].term的{​​{1}}语句中的空格。它包含来自Google博客的标签名称。例如,标签可以是for。当有人点击它时,空间不起作用,导致网址看起来像Test Label。我想要做的是替换空格,使其看起来像http://www.sitename.net/search/label/Test Label

3 个答案:

答案 0 :(得分:4)

我昨天刚刚做了这件事。如果要替换空格,最简单的方法是:

var sentence = "This is a sentence"
sentence.split(" ").join("%20");

答案 1 :(得分:4)

为什么不:

string.replace(/ /g, '%20')

编辑修复。

答案 2 :(得分:2)

var str = "";
// label is the string you want to modify
for (var i = 0; i < label.length; i++) {
      if (label.charAt(i) == ' ') {
           str += "%20";
      } else {
           str += label.charAt(i);
      }
}