我有一个动态创建div
. 除此之外,我还有一个 webcomponent scrollable-div
,它是从HTMLDivElement
. 由于我无法控制div
jQuery 插件是如何创建它的,因此我需要在创建之后以及它已经添加到 DOM 之后对其进行升级。
class myDiv extends HTMLDivElement {
constructor(...args) {
const self = super(...args);
self.addEventListener('click', (e) => {
e.target.textContent = 'clicked'
})
return self;
}
}
customElements.define('my-div', myDiv, { extends: 'div' });
document.addEventListener('DOMContentLoaded', () => {
// this is where I'm trying to turn the div#upgradeMe into a my-div
upgradeMe.setAttribute('is', 'my-div');
});
<div id="upgradeMe">Click me</div>
简单地添加is="my-div"
属性显然不能解决问题,div
只是保持常规HTMLDivElement
。如何以编程方式将 DOM 中的原生元素升级为自定义的内置 Web 组件?