令人惊讶的是在谷歌上找不到这个......
自定义元素的名称(类似于 W3C 规范的 Web 组件集)可以包含 unicode 吗?
这个HTML 5 自定义元素名称?表示自定义元素名称必须以 ASCII 字符开头,包含连字符和任何其他字符。这是否意味着unicode?
令人惊讶的是在谷歌上找不到这个......
自定义元素的名称(类似于 W3C 规范的 Web 组件集)可以包含 unicode 吗?
这个HTML 5 自定义元素名称?表示自定义元素名称必须以 ASCII 字符开头,包含连字符和任何其他字符。这是否意味着unicode?
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
我知道这并不完全是您期望的答案,但我希望它能给您一些启发。