嵌套引号和变量连接

时间:2012-10-21 05:37:24

标签: javascript

我正在努力解决复杂的嵌套引号声明:

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>");

我可以使用以下命令在第二个位置打印变量值,“+ name +”

但不确定如何在第一个位置完成它。

(我使用'PRINT_VAR_NAME_HERE'作为第一和第二位置的占位符)

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:1)

只需使用字符串分隔符(")来破坏字符串并将字符串与变量连接起来,并使用反斜杠转义()中需要出现的任何引号>字符串本身:

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

当然,我假设你想引用字符串中的变量,否则我看不出问题是什么。

答案 1 :(得分:0)

我遇到了同样的问题,试图弄清楚如何在javaScript中嵌套引号以生成HTML。我在'onclick'区域遇到了一个特殊障碍,因为我在其中包含了一个变量。此外,浏览器错误地解释了我的引号。

解决方案:您必须明确告诉浏览器您正在使用的引用和位置。你可以使用'for single-quote,'来表示双引号。

希望这对某人有帮助......

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