2011-03-28 100 views
3

我的意思是,它是有效的,有一个像这样HTML'ID'标签是否允许使用UTF-8编码的字符?

<div id="t_реклама">Some text</div> 

而第二个问题的HTML标签,如果这是不合法的,那么将在urlencoded的版本(如百分比编码)值被允许?

此外,将Javascript有解析utf-8 id值的问题吗?

+0

它看起来像Chrome并没有在id的值UTF8任何问题,即使JS正确提取价值。 – Dmitri 2011-03-28 12:46:20

回答

6

我不认为这是允许的:

ID和名称标记必须以 字母开头([A-ZA-Z]),并且可以通过任何数量的字母,数字遵循 (“ - ”),下划线 (“_”),冒号(“:”)和句点 (“。”)。

http://www.w3.org/TR/html401/types.html#type-name

+6

对于它的价值,这改变了HTML5(http://dev.w3.org/html5/spec/single-page.html#the-id-attribute)到​​任何没有空格的字符集合(U + 0020 SPACE, (U + 0009),“LF”(U + 000A),“FF”(U + 000C)和“CR”(U + 000D)) – 2012-07-20 08:27:59

1

我猜你想这样做的原因是存储在HTML的一些信息后取回。

如果是这样的情况下,尝试使用自定义HTML属性:

<div id="myDiv" data-myattribute="t_реклама"></div> 
+0

是的,这是一种从数据库获取数据的方法并以Javascript可以使用的方式将其添加到页面中。使用costom标签似乎是个好主意,但仍不确定Javascript是否会遇到与utf-8值匹配的问题。 – Dmitri 2011-03-28 12:19:18

相关问题