我想在按钮点击时创建像<?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;作为标签中的字符串。我怎样才能实现这个目标
提前致谢
答案 0 :(得分:2)
您目前正在做的事情并非在字符串中有任何引号。 "a" + "b"
将包含字符a
和b
的字符串连接在一起以生成"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" ?>');