字符代码(HTML)​
是什么?我在我的一个jQuery脚本中发现了它,并想知道它是什么......
感谢。
修改
这是它所在的脚本(它被添加到最后,在Firebug中找到它)
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
var $jnyh = jQuery.noConflict();
$jnyh(function() {
$jnyh("#title-nyh").click(function() {
$jnyh(".show-hide-nyh").slideDown("slow");
}, function() {
if(!$jnyh(this).data('pinned'))
$jnyh(".show-hide-nyh").slideUp("slow");
});
$jnyh("#title-nyh").click(function() {
$jnyh(this).parent().toggleClass("title-btm-brdr");
$jnyh(this).toggleClass("chev-up-result");
var pin = $jnyh(this).data('pinned');
$jnyh(this).data('pinned', !pin);
if(pin) $jnyh(".show-hide-nyh").slideUp("slow");
});
});​
</script>
答案 0 :(得分:132)
这是Unicode Character 'ZERO WIDTH SPACE' (U+200B)。
此字符用于换行控制;它没有宽度,但它存在于两个字符之间并不能防止在对齐中增加字母间距
根据给定的代码示例,实体在此上下文中完全是多余的。必须通过某种意外插入它,很可能是由一个错误的编辑器试图用空白或突出显示来做智能事物,或者是使用键盘语言的最终用户,其中本地使用了这个字符,例如阿拉伯语。
答案 1 :(得分:15)
如果要在编辑器中搜索这些不可见字符并使其可见,可以使用正则表达式搜索非ascii字符。
尝试搜索[^\x00-\x7F]
。
在IntelliJ IDEA中测试。
答案 2 :(得分:7)
我带着同样的问题来到这里,然后我自己想出来了。这个奇怪的角色出现在我的HTML中。
问题很可能是您的代码编辑器。我使用Espresso,有时会遇到这样的问题。
要修复它,只需突出显示受影响的代码,然后转到菜单并单击“转换为数字实体”。你会看到这个角色的数值出现;只需删除它就会永远消失。
答案 3 :(得分:3)
ZERO WIDTH SPACE
。
我已经将它用作“空”表格单元格的内容。不过,不知道它在<script>
标签中做了什么。
答案 4 :(得分:3)
当您使用jQuery使用DOM操作函数(如.before()和.after()
)添加元素时,会插入ZERO WIDTH SPACE字符我在文档的末尾添加隐藏的模态对话框,然后发现ZERO WIDTH SPACE将布局搞砸到那里,增加了不必要的空间,我遇到了这种情况。
快速解决方法是将其插入页脚之前,而不是之后。无论如何它都是隐藏的。
我无法在jQuery中找到执行此操作的任何内容:
https://github.com/jquery/jquery/blob/master/src/manipulation.js
所以可能是浏览器添加它。
答案 5 :(得分:2)
我将这些字符显示在我不想要的脚本中。我注意到因为它破坏了我的HTML / CSS视觉格式:它创建了一个新的文本框。
非常确定一个错误的编辑器正在添加它们......在我的情况下,我怀疑Komodo Edit for the Mac。
答案 6 :(得分:0)
如果您在某个消息来源中看到这些消息,请注意可能是某人试图指纹文本文档以显示泄漏信息的人。它也可能是试图通过在逐字节级别上使相同的信息不同来绕过垃圾邮件过滤器。
如果您有兴趣了解更多内容,请参阅my article有关减轻指纹识别的信息。
答案 7 :(得分:-1)
它显示了一些奇怪的字符(â€<) 直到我在html文件的头部将字符集设置为UTF-8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
或HTML5:
<meta charset="UTF-8">
它现在是透明的,但在我使用检查器时仍会在html中显示。
从页面中删除所有脚本也没有将其删除。
我测试了它的chrome和IE。