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

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

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

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

有任何想法吗 ?谢谢。

4

2 回答 2

1

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

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

当然,我假设您想在字符串中引用变量,否则我看不出问题出在哪里。

于 2012-10-21T05:42:35.377 回答
0

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

解决方案:您必须明确告诉浏览器您正在使用哪些引号以及在哪里使用。为此,您使用 ' 表示单引号,使用 " 表示双引号。

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

document.getElementById("item-controls-" + id).innerHTML = "<span class=\'controls\' id=\'save-control\' onclick=&#39;saveForm(\"" + id + "\")&#39;>save</span> ...
于 2014-04-27T16:18:09.890 回答