引用html属性的值

时间:2014-06-28 04:59:10

标签: jquery html regex

$(document).ready(function () {
    for (var i = 0; i < 3 ; i++) {
        $("body").append("<p id=\"element"+i+"\">Hello world, I'm Element " + i + ".<p>");
    }
});

看第三行,匹配的引号对是什么?我假设逃脱引用是一个。另外,为什么+ i +被引号括起来?逃脱的报价不应该足够吗?编辑:我遗漏了一些代码。遗憾!

2 个答案:

答案 0 :(得分:1)

光学错觉

  

为什么+ i +被引号括起来?

不是。 +是连接运算符,具有在前后字符串之间插入i的连续值的效果,产生如下内容:

  • <p id="element1">Hello...
  • <p id="element2">Hello...
  • <p id="element3">Hello...

另请注意:

  1. "之前的+i+引文不属于+i+。它会关闭使用"<p id
  2. 打开的字符串
  3. \"不是属于代码的引号。相反,它属于字符串,并且转义\是必要的,因此它不会与关闭或打开引号混淆。

答案 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不同,它不会在字符串中扩展变量(因为没有像$那样的特殊前缀来告诉变量的开始位置。)