我正在努力解决复杂的嵌套引号声明:
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'作为第一和第二位置的占位符)
有什么想法吗?感谢。
答案 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='saveForm(\"" + id + "\")'>save</span> ...