我正在使用 NetBeans IDE 7.0.1 开发 Web 应用程序的前端。最近我有一个非常讨厌的错误,我终于修复了。
说我有代码
var element = '<input size="3" id="foo" name="elements[foo][0]" />';
$('#bar').append(element);
当我看到该size
属性在 Chrome 中不起作用(未在其他浏览器中检查)时,我注意到出了点问题。当我在 Inspector 中打开该元素时,它被解释为类似
<input id=""3"" name=""elements[foo][0]""
size=""foo"" />
这很奇怪。手动重新element
输入字符中的字符串后,错误消失了。当我撤消该更改时,我注意到 Netbeans 提醒我有关旧代码中的一些 Unicode 字符。它是\u200b
- 每个 '=' 之后,'][' 和字符串末尾之间的零宽度空格。所以字符串看起来正常,因为没有显示零宽度空格,但是在转义它们之后我的字符串是
'<input size=\u200b"3" id=\u200b"foo" name=\u200b"elements[foo]\u200b[0]" />\u200b'
现在我他妈的从哪里弄到它们的?
我不确定我element
从哪里复制的代码,但它绝对是以下之一:
- 带有 HTML 模板文件的 Netbeans 编辑器的其他窗格;
- 谷歌浏览器检查器,“复制为 HTML”操作;
- Google Chrome 源代码查看页面(非常值得怀疑)。
但是我不能用这两种方法重现这个错误。
我在 Windows 7 下使用 Netbeans 7.0.1 和 Google Chrome 13.0。没有键盘切换器或任何类似的东西正在运行。此外,我使用 Git 进行版本控制,但我没有提取该代码,因此不太可能归咎于 Git。这不会是我同事的愚蠢笑话,因为他们很有礼貌。
任何搞砸了我的代码的建议?