У меня есть пользовательский элемент HTML, который был зарегистрирован во внешней библиотеке с именем, содержащим специальные символы Unicode. Я хотел бы динамически создать элемент такого типа, поэтому я попытался использовать document.createElement
, но это привело к ошибке времени выполнения в Chrome и Firefox, поскольку, по-видимому, имя элемента недопустимо. Только Safari позволяет создавать элемент таким способом.
Вот упрощенный пример:
// External code
class TestElement extends HTMLElement
{ }
customElements.define("emotion-?", TestElement); // OK
console.log("custom element registered");
// My code
document.createElement("emotion-?"); // Error in Chrome and Firefox
console.log("custom element created");
Обратите внимание, что HTML spe c сама приводит emotion-?
в качестве примера действительного имени настраиваемого элемента.
Как я могу создать такой пользовательский элемент в JavaScript?