将字符串与另一个字符串相连

时间:2014-10-16 15:06:35

标签: javascript svg

我想在按钮点击时创建像<?xml version="1.0" encoding="UTF-8" standalone="no"?>这样的标签,所以我创建了一个简单的功能来实现这个目标

function onclick(){
    var element = getStringBuilder();
    element.append("<?xml version=" + "1.0" + " encoding=" + "UTF-8" + " standalone=" + "no" + "?>");
    element = element.toString();
}

  function getStringBuilder () {

             var data = [];
             var counter = 0;

             return {
                 // adds string s to the stringbuilder

                 append: function (s) {
                     data[counter++] = s;
                     return this;
                 },
                toString: function (s) { return data.join(s || ""); }
        }
    }

但我得到的输出如下

<?xml version=1.0 encoding=UTF-8 standalone=no?>,我想&#34; 1.0&#34;,&#34; UTF-8&#34;,&#34; no&#34;作为标签中的字符串。我怎样才能实现这个目标

提前致谢

4 个答案:

答案 0 :(得分:2)

您目前正在做的事情并非在字符串中有任何引号。 "a" + "b"将包含字符ab的字符串连接在一起以生成"ab" "a""b"

最简单的方法是将整个字符串用单引号(')包装,并在字符串中保留双引号("):

element.append('<?xml version="1.0" encoding="UTF-8" standalone="no"?>');

另一种方法是转义双引号,以使JavaScript将它们视为字符串的一部分:

element.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

答案 1 :(得分:1)

实际将它们包含在字符串中?

element.append('<?xml version="1.0" encoding="UTF-8" standalone="no"?>');

答案 2 :(得分:1)

在这种情况下,只需使用不同的引号:

element.append('<?xml version="1.0" encoding="UTF-8" standalone="no"?>');

在更一般的情况下,逃避:

element.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

无论哪种方式,连接在这里都不合适。

答案 3 :(得分:0)

JavaScript使用&#34;分开字符串。使用&#39;在其中,使用&#34;。像这样:

element.append('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>');