javascript - 是否可以在自定义元素中独立于 innerHTML 操作显示的 DOM?
问题描述
在我看来,“自定义元素”应该能够做到这一点。
是否可以使用 JS 创建完全自定义的元素customElements
,这样渲染的图像完全由 JS 指定(最好是 HTML),并且不一定与 DOM 相关innerHTML
来自标准 HTML 的示例
以现有 HTML 代码为例,<li>
元素的 DOMinnerHTML
并不代表其呈现的形式。
在 Firefox 上,这在 Inspector 中显示如下:
<li>
::marker
List item
</li>
例子
如果我想要的是可能的,则可以创建一个 custom <li>
,其行为如下:
鉴于 HTML
<my-li>Statement</my-li>
在内部,浏览器会生成这个:
<div tag="my-li">
<img selector="marker" src="bullet.svg"/>
Statement
</div>
然后,您可以像这样访问项目符号:
my-li::marker { }
因此,检查员将显示:
<my-li>
::marker
Statement
</my-li>
同样,想象一下:
<duplicate-div><button>X</button></duplicate-div>
在内部由类似的东西表示
<div tag="duplicate-div">
<div selector="first">
<button>X</button>
</div>
<div selector="second">
<button>X</button>
</div>
</div>
动机(请不要告诉我该怎么做):
我想制作一个复选框,因为设置默认复选框的样式几乎是不可能的,并且希望使用它就像编写一样简单
<check-box>Label</check-box>
这样的事情可能吗?
解决方案
推荐阅读
- perl - PERL:我从 locatime 中获取 mday 值,如下所示。如何从本地时间获取的 mday 中减去 1
- reactjs - 使用 React UI 和 Spring Boot 服务器实现用户搜索的建议
- html - 更改 DataTables 搜索栏的颜色
- python - Docker 不会安装 Python
- node.js - Nodejs在CSV中编辑单行
- flutter - 在颤动中对齐行内的项目
- javascript - 蒙版更改后光标在错误的位置
- python - 更改while循环(缩短)并检查我的字典的方法
- python - 考虑到它是类类型,如何在字节数组中发送使用椭圆曲线加密生成的公钥?
- jquery - Jquery Tooltipster - ajax 后访问 DOM