按规范和浏览器在DOM ID中不允许使用的字符

时间:2010-08-26 17:26:59

标签: html dom cross-browser

以下问题是关于id属性内容的规范的一个很好的概述: What characters are allowed in DOM IDs?

我的问题是,浏览器遵守此规范的程度如何?我很确定我可以在firefox中使用所有数字ID。

2 个答案:

答案 0 :(得分:2)

这是HTML4与HTML5的区别。

正如answer所述,HTML4中的id对所允许的内容具有高度限制性。

HTML4中的有效ID,符合spec

  

必须以字母([A-Za-z])开头,后跟任意数量的字母,数字([0-9]),连字符("-"),下划线("_"),冒号(":")和句点(".")

使用id,HTML5更加轻松。根据{{​​3}},

的有效ID
  

在元素的主子树中的所有ID中必须是唯一的,并且必须至少包含一个字符。该值不得包含任何空格字符。

由于浏览器正在转换为HTML5(大多数已经实现了这些基础知识),您可能会发现大多数现代浏览器都遵循HTML5定义ID的方式。仍然最好的方法是测试它或有备份文档,以确切地知道哪些浏览器有效和无效。

答案 1 :(得分:0)

这个问题的目的是什么?你清楚地意识到这不是一个好主意。许多浏览器允许编写无效代码,因为他们不希望向用户提供损坏的页面。

你不应该这样做,因为它很有可能在昨天,今天和明天都会破裂。所以没有必要问这个问题。