2014-10-16 68 views
1

我想創建像<?xml version="1.0" encoding="UTF-8" standalone="no"?>按鈕點擊標籤,所以我創建了一個簡單的函數來實現這一Concating字符串到另一個字符串

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?> ,我想在標籤中使用「1.0」,「UTF-8」,「no」作爲字符串。我怎麼能這樣做

在此先感謝

回答

1

通過實際包括他們在字符串?

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

在這種情況下,只需要使用不同的報價:

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

在更一般的情況下,逃生:

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

無論哪種方式,串接是不恰當的位置。

0

JavaScript使用「分隔字符串。使用'在裏面,使用」。像這樣:

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