如何使用 JavaScript 获取 DOM 元素的 ::before 内容?

问题描述 投票:0回答:3

我想知道是否可以获取DOM元素的

::before
内容,这是由CSS3设置的。

我尝试了一些方法,但还是不行,所以我很困惑!

// 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

javascript css dom pseudo-element
3个回答
39
投票

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

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


4
投票

getCompulatedStyle() 和 getPropertyValue()

image

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

image


0
投票

    document.addEventListener('DOMContentLoaded', function() {
      var widthval = 12;
      var style = document.createElement('style');
      style.innerHTML = '.classname::before {content: " ! "; color: red; width: ' + widthval + 'px !important;}';
      document.head.appendChild(style);
    });
 <div class="classname">
        Main Title
    </div>

© www.soinside.com 2019 - 2024. All rights reserved.