2012-10-21 65 views
0

我有一個複雜的嵌套引用在這裏的講話掙扎:嵌套引號和可變串聯

var name = "foo"; 
$("#list").append("<li data-theme='c'><a href='#details' onclick='sessionStorage.name=PRINT_VAR_NAME_HERE;' data-transition='slide'>PRINT_VAR_NAME_HERE</a></li>"); 

我能夠通過打印在第二位置的變量值正常:「+姓名+」

但不知道如何在第一個位置完成。

(我已經使用「PRINT_VAR_NAME_HERE」作爲第一和第二位置的佔位符)

任何想法?謝謝。

回答

1

只需使用字符串分隔符(在")打破字符串,並與你的變量字符串連接在一起,和逃生(用反斜槓),您需要出現字符串本身的任何報價:

$("#list") 
    .append("<li data-theme='c'><a href='#details' onclick='sessionStorage.name=\"" + name + "\"' data-transition='slide'>"+ name + "</a></li>"); 

我當然假設你想引用字符串中的變量,否則我看不出會出現什麼問題。

+0

這工作就像一個魅力!只要StackOverflow允許我這樣做,就會接受你的答案。謝謝 ! – Myxtic

+0

我很高興得到了幫助! =) –

0

我遇到了同樣的問題,試圖找出如何在javaScript中嵌入引號以生成HTML。我在'onclick'區域遇到了一個特殊的問題,因爲我在其中包含了一個變量。另外,瀏覽器錯誤地解釋了我的報價。

解決方案:您必須明確告訴瀏覽器您正在使用哪些引號以及在哪裏。而你通過使用'進行單引號和"執行雙引號。

但願這是有幫助的人......

document.getElementById("item-controls-" + id).innerHTML = "<span class=\'controls\' id=\'save-control\' onclick=&#39;saveForm(\"" + id + "\")&#39;>save</span> ...