正在将类添加到影子根中的元素
Adding class to element inside shadow root
我只是想在影子根中的元素中添加一个类。我使用咖啡脚本在原子内部执行此操作。。。这是我班里的问题片段。
createChatTab: (chatTitle = defaultChatTitle) ->
chatTab = document.createElement('gh-chat-tab')
chatTab.id = "thisWillBeAUniqueID"
chatTab.innerText = chatTitle
# Add click event
chatTab.addEventListener 'click', =>
@.className = "open"
# Add to shadowDom
@theBar.appendChild(chatTab)
# Clear the chat tab
chatTab = null
我已经创建了这个元素,并添加了一个点击事件,然后将其附加到我的影子根元素中,然后清除原始变量。
在运行时,该元素在影子根目录中显示良好,并且控制台日志显示单击事件确实运行,但是没有添加"open"类?
解决:我自己设法解决了这个问题:答案如下。
通过将胖区域更改为细箭头来解决此问题!
# Add click event
chatTab.addEventListener 'click', ->
@.className = 'open'
我已经设法将一个类添加到Web组件的影子根中的现有元素中(必须处于打开模式)。
const host = document.querySelector('component-name');
const firstElement = host.shadowRoot.firstElementChild;
firstElement.classList.add('classname');
阴影中的DOM遍历有点棘手,但根元素应该有助于确定CSS的范围。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- Javascript 向影子根中的自定义元素添加函数
- 正在将类添加到影子根中的元素
- 如何让导入的 css 字体/图标对影子 dom 中的元素产生影响
- 获取影子根主机元素
- 为什么getElementsByClassName()访问影子DOM中的元素?
- 如何在不轮询的情况下检测元素何时不再具有影子根
- 没有影子 DOM 的自定义元素:获取元素的最佳方式
- 通过selenium javascriptExecutor访问影子DOM元素(聚合物)