这个问题更针对于用户创建的影子DOM元素,但是为了可访问性,我将使用date
此问题的输入类型:
举例来说,我date
在页面上输入了内容。修改了几位后,此阴影DOM标记(使用Chrome)看起来像:
<input type="date">
#document-fragment
<div pseudo="-webkit-datetime-edit">
<div pseudo="-webkit-datetime-edit-fields-wrapper">
<span role="spinbutton">dd</span>
<div pseudo="-webkit-datetime-edit-text">/</div>
<span role="spinbutton">mm</span>
<div pseudo="-webkit-datetime-edit-text">/</div>
<span role="spinbutton">yyyy</span>
</div>
</div>
<div></div>
<div pseudo="-webkit-calendar-picker-indicator"></div>
与date
输入关联的方法和属性似乎根本没有引用影子DOM(JSFiddle),所以我想知道如何(如果有的话)访问这些影子DOM元素?
根据定义,@ int32_t在该ShadowDOM中是正确的,它是一种用要从外部源隐藏的DOM填充节点的方法(封装)。关键是您作为组件作者可以准确选择哪些部分将暴露于外部CSS或JavaScript,而哪些则不会。
不幸的是,如果不使用另一个称为CustomElements的最新规范,就无法为ShadowDOM创建公共JavaScript接口。如果选择这样做,就像在元素的原型中添加自定义公共方法一样简单。通过这些,您可以访问ShadowDOM的内部结构。
但是,您可以公开CSS的钩子,以在不使用自定义元素的情况下访问Shadow DOM的内部。有两种方法可以做到这一点:
Chrome和Firefox通过特殊的伪元素将ShadowDOM的某些部分暴露给CSS。这是您的date
输入示例,其中添加了CSS规则,该规则仅通过使用Chrome提供的-webkit-datetime-edit
伪元素应用于日期字段的数字部分。
这是可用的WebKit伪元素的部分列表。您也可以仅ShowShadowDOM
在DevTools中启用该选项,然后查找名为的属性pseudo
。
组件作者还可以创建自己的伪元素来公开其ShadowDOM的一部分
一个更好的方法是使用CSS变量,你可以启用EnableexperimentalWebKitfeatures
在about:flags
Chrome浏览器。然后检查,它使用CSS变量与ShadowDOM交流其“主题”应使用的颜色。
任何关于直接远程访问(不使用ssh->kubectl代理来避免在Kubernetes节点上进行用户管理)的详细实用指南都将不胜感激。:) 更新: 只是想说清楚点。这是在前提部署中的裸机(没有GCE、AWZ、Azure或任何其他),而且有些环境将完全脱机(这将增加获得安装包的额外问题)。 因此,当我在Kubernetes上设置入口时,我无法创建将443重定向到6443的防火墙规则。似乎唯一的选择是创
我正在尝试使用Postman,chrome扩展api客户端Postman通过http访问Dynamodb。这实际上是我在《Dynamodb应用设计模式》一书中读到的一种方法。似乎我做错了什么,因为我无法成功地验证和访问web服务。 我在Postman客户端中使用的url和标题以及我最近的请求参数和错误消息如下: 我的请求是: 我得到以下错误消息: {uuu type:“com.amazon.cor
问题内容: Java中是否可以通过反射访问私有字段str?例如获取该字段的值。 问题答案: 是。 然后,使用字段对象获取类实例上的值。 请注意,方法通常会使人们感到困惑。你有该字段,但没有该对象的实例。你必须将其传递给方法
问题内容: 我正在学习ReactJs,真的很喜欢。我想问一下我们是否可以按类名呈现虚拟DOM以进行文档记录。 我试图通过 getElementByClassName(’class’) 作为react的render方法的第二个参数,它不起作用。React是否仅将DOM呈现给ID唯一的节点,还是有一种使用类的节点的解决方法? 问题答案: 看来您使用了错误的方法。 可能您应该使用而不是。并且不要忘记返回
问题内容: 如何从HashMap的位置检索元素,这有可能吗? 问题答案: HashMap不保留排序: 此类无法保证地图的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。 看一下LinkedHashMap,它保证了可预测的迭代顺序。
我有以下代码来检索http和https的默认,它通过访问静态包作用域方法,在Java8中工作: 这在jigsaw的Java9中仍然是可能的,还是禁止以这种方式修改可见性?