反斜杠在这个jQuery代码中做了什么?

时间:2011-11-15 22:51:21

标签: javascript jquery

jquery包装器下面的反斜杠做了什么。

div.wrap("<div id=\"wrap-" + id + "\" class=\"" + params.classname + "_wrapper\">")

4 个答案:

答案 0 :(得分:7)

它会转义字符串中的引号。

"开始和结束字符串,如果你想在字符串本身使用它们,那么它们需要被转义。

答案 1 :(得分:7)

以双引号(")分隔的JavaScript字符串除非转义,否则不能包含其他双引号:

// This is wrong
var name = "Phrogz "Broken" Syntax";

// This is right
var name = "Phrogz \"Fixed\" Syntax";

// Or this
var name = 'Phrogz "Simpler" Syntax';

您发布的代码与此(更简单)版本相同:

div.wrap('<div id="wrap-' + id + '" class="' + params.classname + '_wrapper">');

更清楚的是,这是:

var wrapD = $('<div>', { id:"wrap-"+id, className:params.classname+"_wrapper" });
div.wrap(wrapD);

答案 2 :(得分:5)

反斜杠正在转义双引号,因此它们不会过早终止string literal

在运行时,字符串不会包含那些反斜杠,可能看起来像这样,例如:

<div id="wrap-1" class="foo_wrapper">

答案 3 :(得分:2)

用于转义字符串

中的引号