首页 > 解决方案 > 是否可以获得附加伪元素的元素的innerHTML?

问题描述

我有一个 div 的伪元素。我想制作一个 eventListener 以便当我单击伪元素时,我可以获得它所附加的 div 的 innerHTML。这可能吗?我该怎么做呢?

标签: javascripthtmldom

解决方案


:before伪元素就是这样,一个伪元素。它不是 dom 节点,您不能专门将事件侦听器附加到它。

相反,您可以做的最好的事情是向拥有伪元素的元素添加一个事件侦听器。

document.querySelector('#target').onclick = function(e) {
  var text = document.createTextNode(this.innerHTML);
  document.querySelector('#out').appendChild(text);
}
#target:before {
  content: 'Click me!';
  color: red;
}
<div id="target">
  <p>or click here</p>
</div>
<div id="out"></div>


推荐阅读