$(document).ready(function () {
for (var i = 0; i < 3 ; i++) {
$("body").append("<p id=\"element"+i+"\">Hello world, I'm Element " + i + ".<p>");
}
});
看第三行,匹配的引号对是什么?我假设逃脱引用是一个。另外,为什么+ i +被引号括起来?逃脱的报价不应该足够吗?编辑:我遗漏了一些代码。遗憾!
答案 0 :(得分:1)
光学错觉
为什么+ i +被引号括起来?
不是。 +
是连接运算符,具有在前后字符串之间插入i的连续值的效果,产生如下内容:
<p id="element1">Hello...
<p id="element2">Hello...
<p id="element3">Hello...
另请注意:
"
之前的+i+
引文不属于+i+
。它会关闭使用"<p id
\"
不是属于代码的引号。相反,它属于字符串,并且转义\
是必要的,因此它不会与关闭或打开引号混淆。答案 1 :(得分:0)
转义的引号在您正在创建的HTML字符串中相互匹配。
引号不是“围绕”+i+
。它们被用来结束以
"<p id=\"element"
并开始下一个字符串:
"\">Hello world, ..."
这是在这两个字符串之间连接i
。因此,如果i
包含0
,则生成的HTML将为
<p id="element0">Hello world, I'm element 0</p>
转义引号允许将引号放入字符串中,但您仍需要 out 字符串以扩展变量。
Javascript与PHP不同,它不会在字符串中扩展变量(因为没有像$
那样的特殊前缀来告诉变量的开始位置。)