转义这些字符的目的是什么? [来自 Javascript & JQuery 书]
What is the purpose of escaping these characters? [From Javascript & JQuery book]
来自 Jon Duckett 的 JavaScript 和 jQuery 一书中的事件章节。
代码如下:
var msg = '<div class=\"header\"><a id=\"close\" href="#">close X</a></div>';
msg += '<div><h2>System Maintenance</h2>';
msg += 'Our servers are being updated between 3 and 4 a.m. ';
msg += 'During this time, there may be minor disruptions to service.</div>';
var elNote = document.createElement('div');
elNote.setAttribute('id', 'note');
elNote.innerHTML = msg;
document.body.appendChild(elNote);
function dismissNote() {
document.body.removeChild(elNote);
}
var elClose = document.getElementById('close');
elClose.addEventListener('click', dismissNote, false);
我只对开头部分感兴趣。为什么 \"header\"
和 \"close\"
转义了,而 href="#"
没有?我 运行 没有转义的代码,它仍然有效。
这个想法是教你使用转义引号,因为如果你写了代码:
var msg = "<div class=\"header\"><a id=\"close\" href="\#">close X</a></div>";
这应该可行,但如果引号未转义,则行不通。单引号表示其中的所有内容都是精确的引号,即。引号 (") 被解释为字符串,而不是新字符串的开头(或结尾)。
此代码无效:
var msg = "<div class="header"><a id="close" href="#">close X</a></div>";
来自 Jon Duckett 的 JavaScript 和 jQuery 一书中的事件章节。
代码如下:
var msg = '<div class=\"header\"><a id=\"close\" href="#">close X</a></div>';
msg += '<div><h2>System Maintenance</h2>';
msg += 'Our servers are being updated between 3 and 4 a.m. ';
msg += 'During this time, there may be minor disruptions to service.</div>';
var elNote = document.createElement('div');
elNote.setAttribute('id', 'note');
elNote.innerHTML = msg;
document.body.appendChild(elNote);
function dismissNote() {
document.body.removeChild(elNote);
}
var elClose = document.getElementById('close');
elClose.addEventListener('click', dismissNote, false);
我只对开头部分感兴趣。为什么 \"header\"
和 \"close\"
转义了,而 href="#"
没有?我 运行 没有转义的代码,它仍然有效。
这个想法是教你使用转义引号,因为如果你写了代码:
var msg = "<div class=\"header\"><a id=\"close\" href="\#">close X</a></div>";
这应该可行,但如果引号未转义,则行不通。单引号表示其中的所有内容都是精确的引号,即。引号 (") 被解释为字符串,而不是新字符串的开头(或结尾)。
此代码无效:
var msg = "<div class="header"><a id="close" href="#">close X</a></div>";