我一直在web应用程序中使用prototype.js。我在选择一些单选按钮时动态填充一些Div。在填充Div中的内容之前,我使用原型的更新方法清除以前的内容 -
$('item').update('');
在IE中,这会自动换行,但在Firefox 3.5中则不行。因此,为了以与IE相同的方式工作,我将代码更改为 -
$('item').update(' ');
现在,这对我有用。但是,通常“& nbsp”与分号($ nbsp;)一起使用。我想知道,如果这段代码可能出现故障。 例如,是否有机会显示& nbsp而不是空格?但是有些浏览器可能足够聪明,可以通过程序员检测编码错误并自动更正错误。
答案 0 :(得分:13)
结尾分号可以省略,但绝对不推荐。见note in the HTML 4 specification regarding character references:
在SGML中,可以消除最终的“;”在某些情况下(例如,在换行符处或在标签之前),在字符引用之后。在其他情况下,它可能不会被消除(例如,在一个单词的中间)。我们强烈建议使用“;”在所有情况下,以避免需要此字符的用户代理出现问题。
答案 1 :(得分:8)
从不依赖浏览器自动更正或“推荐”行为。
如果你的代码错了,那么(a)它是错的,(b)浏览器可以自由地与它做不一致的事情。
答案 2 :(得分:0)
我同意,Dodgy标记和JavaScript错误是调试您将来遇到的任何问题的一个灾难,因为您无法消除狡猾的标记导致浏览器错误地解释代码。
答案 3 :(得分:0)
不确定这是否会有所帮助(或更改任何内容),但正确的语法实际上没有单引号:
$('element').update();