2017-06-03 3 views
4

Ich möchte wissen, ob es möglich ist, einen Inhalt ::before eines DOM-Elements zu erhalten, das von CSS3 festgelegt wurde.Wie bekomme ich einen DOM-Element :: before-Inhalt mit JavaScript?

Ich habe einige Wege versucht, aber ich kann es immer noch nicht schaffen, also ist es sehr verwirrend für mich!

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

Dies ist der Fall:

![enter image description here

+0

'getComputedStyle (document.querySelector ("javascript".) ": vor"). getPropertyValue ("background-image") ' –

+0

ja, es funktioniert! – xgqfrms

+2

Wie hat diese Frage nicht mehr Stimmen ??? – Booligoosh

Antwort

4

Pass ":before" als zweiten Parameter zu window.getComputedStyle():

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

+0

Vielen Dank! Du hast eine tolle Arbeit geleistet! – xgqfrms

1

getComputedStyle() & getPropertyValue()

image

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

image

+0

Tada, du hast einen guten Job gemacht! – xgqfrms

Verwandte Themen