2016-08-10 4 views
8

Ich muss :after bekommen und es Variable zuweisen. Es ist möglich?Wie bekomme ich ein Pseudo-Element?

querySelectorAll funktioniert nicht.

alert(some_div_with_pseudo.querySelectorAll('::after')[0]) // undefined 
+0

Sie _cannot_, wie der Name 'pseudo' impliziert. Diese sind nicht Teil des eigentlichen DOM, sie sind, nach javascript, Stilregeln, die auf ein tatsächliches Element angewendet werden. – somethinghere

Antwort

0

Sie sollten dos etwas wie folgt aus:

window.getComputedStyle(
    document.querySelector('somedivId'), ':after' 
); 

Beispiel hier: https://jsfiddle.net/cfwmqbvn/

+0

Es gibt Stil zurück. Ich brauche Element –

+4

": nach" ist ein Pseudo-Element, kein Element. Sie können keinen Dom-Knoten zurückgeben, es ist nicht einer - alles, was Sie tun können, erhalten Sie die Stile :) – MrBizle

4

Angenommen, Ihre CSS wie folgt aussieht:

.element:after { 
    content: 'NEW'; 
    color: rgb(255, 0, 0); 
} 

Um die Farbeigenschaft des abzurufen. element: Vorher könnten Sie folgendes JavaScript verwenden:

var color = window.getComputedStyle(
    document.querySelector('.element'), ':after' 
).getPropertyValue('color') 

var color = window.getComputedStyle(
 
\t document.querySelector('.element'), ':after' 
 
).getPropertyValue('color'); 
 
alert(color);
.element:after { 
 
\t content: 'NEW'; 
 
\t color: rgb(255, 0, 0); 
 
}
<div class="element"></div>

+0

Es gibt Stil zurück. Ich brauche Element –

+3

Wäre schön gewesen, Ihre Quelle zu referenzieren: https://davidwalsh.name/pseudo-element – PhilMarc

Verwandte Themen