如何使用JavaScript获取DOM元素' s ::之前的内容?

时间:2017-06-03 08:42:20

标签: javascript css dom pseudo-element

我想知道是否有可能获得由CSS3设置的DOM元素::before内容。

我尝试了一些方法,但我仍然无法做到,所以对我来说非常困惑!

// https://rollbar.com/docs/

const links = document.querySelectorAll(`ul.image-list a`);

links[0];
// <a href="/docs/notifier/rollbar-gem/" class="ruby">::before Ruby</a>

links[0];
//

links[0].textContent;
//"Ruby"

links[0].innerText;
// "Ruby"

links[0].innerHTML;
// "Ruby"

// ??? links[0]::before;

情况就是这样:

![enter image description here

2 个答案:

答案 0 :(得分:11)

":before"作为第二个参数传递给window.getComputedStyle()

&#13;
&#13;
console.log(getComputedStyle(document.querySelector('p'), ':before').getPropertyValue('content'));
&#13;
p::before,
p::after {
  content: ' Test ';
}
&#13;
<p>Lorem Ipsum</p>
&#13;
&#13;
&#13;

答案 1 :(得分:3)

getComputedStyle()&amp; getPropertyValue()

image

  

getComputedStyle(document.querySelector('span.search-box'), '::after').getPropertyValue('content');

image