我知道我们可以像这样直接创建自定义标签:
<material-button>Cancel</material-button>
但是,我想在不创建自定义元素(网络组件)的情况下使用空标签。可能吗?
<icon-star>
最佳答案
您可以使用 <icon-star></icon-star>
只要。
您不能使用 <icon-star>
或 <icon-star/>
因为它会被解释为开始标签,之后的所有内容都将被解释为子节点。
这是由于自定义元素的初始化方式:作为未知元素,因此解析器无法知道它们是否为空(原子)。只有标准 HTML 元素可以具有该属性( <img>
、 <br>
),因为它们在被解析时就已经知道了。
customElements.define( 'icon-star', class extends HTMLElement {
connectedCallback() {
this.innerHTML = '*'
}
} )
OK: <icon-star></icon-star>
Fail: <icon-star/> Hello
Fail: <icon-star/>
所以实际上你可以使用只打开<icon-star>
页面最后一个元素的语法:-o
关于javascript - 如何定义一个空的自定义 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61697060/