3

令人惊讶的是在谷歌上找不到这个......

自定义元素的名称(类似于 W3C 规范的 Web 组件集)可以包含 unicode 吗?

这个HTML 5 自定义元素名称?表示自定义元素名称必须以 ASCII 字符开头,包含连字符和任何其他字符。这是否意味着unicode?

4

1 回答 1

1

TL;DR这篇很棒的文章解释了 javascript 中允许使用哪些字符。不幸的是,这些元素不能按预期工作。至少,目前。


原因是document.registerElement在新创建的自定义元素上调用的内容将失败:

var a = document.registerElement('a-ℵ');
//⇒ Uncaught SyntaxError: Failed to execute 
//    'registerElement' on 'Document': 
//    Registration failed for type 'a-ℵ'. 
//    The type name is invalid.

那是因为registerElement尝试创建内部构造函数,与注册元素的通用/不同function HTMLElement()function HTMLUnknownElement()

console.log(document.registerElement('a-b'));
//⇒ function a-b() { [native code] }

我建议浏览器的内部还没有准备好:

//⇒ function a-ℵ() { [native code] }

尽管您可能很容易指定:

var ℵ = function() { console.log('IT WORKS') };
ℵ();
//⇒ IT WORKS

我知道这并不完全是您期望的答案,但我希望它能给您一些启发。

于 2015-02-25T08:47:22.577 回答