Javascript 理解jquery插入的自定义元素

Javascript 理解jquery插入的自定义元素,javascript,jquery,html,Javascript,Jquery,Html,我偶然发现了一些我无法理解的东西 如果我用以下内容包装一个元素 var htmlWrapper = $("<custom-wrapper></custom-wrapper>"); $(".some-selector").wrapAll(htmlWrapper); var-htmlWrapper=$(“”); $(“.some选择器”).wrapAll(htmlWrapper); 据我所知,DOM将具有元素“custom wrapper”,并作为块元素工作 这是web组

我偶然发现了一些我无法理解的东西

如果我用以下内容包装一个元素

var htmlWrapper = $("<custom-wrapper></custom-wrapper>");
$(".some-selector").wrapAll(htmlWrapper);
var-htmlWrapper=$(“”);
$(“.some选择器”).wrapAll(htmlWrapper);
据我所知,DOM将具有元素“custom wrapper”,并作为块元素工作


这是web组件的一部分吗?在这种情况下,它不应该与Edge一起工作,但可以正常工作

我找不到规范引用,但我相信任何不属于页面指定doctype的元素都会被视为通用块级元素。在任何情况下,都不应使用非标准元素。如果要创建自己的元素,则可以定义自己的或甚至自己的doctype。不过,这是一项几乎毫无益处的工作。事实上,我认为它可能会产生比它解决的问题更多的问题。它不是HTML标准标签(即它不是HTML命名空间的标准),但是现代浏览器对待未知的标签非常类似于<代码> div < /代码>。好的,这是有意义的。是否仍然认为创建非标准元素是不好的做法?是的,绝对是。同样在一个动态添加的上下文中,比如说另一个像for text这样的包装器?因为edge仍然不完全支持web组件