2016-08-10 16 views
8

:after'u almalı ve onu değişkene atamalıyım. Bu mümkün?Sözde öğe nasıl alınır?

querySelectorAll çalışmıyor.

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

Sen _cannot_

var color = window.getComputedStyle( document.querySelector('.element'), ':after' ).getPropertyValue('color') 
. Bunlar asıl DOM'nin bir parçası değil, javascript, gerçek bir öğeye uygulanan stil kurallarıdır. – somethinghere

cevap

0

Böyle bir şey dos olmalıdır: Burada

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

Örnek: https://jsfiddle.net/cfwmqbvn/

+0

Stil döndürür. –

+4

elemanına ihtiyacım var: "sonra" bir öğe değil, sahte bir elemandır. Bir dom düğümünü döndüremezsiniz, bu bir değil - tüm bunları stilleri alabilirsiniz :) – MrBizle

4

CSS varsayalım benziyor:

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

renk özelliğini almak için. element: önce, aşağıdaki JavaScript'i kullanabilirsiniz:

Adı 'sözde' da anlaşılacağı gibi

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

Geri dönüş stili. Öğeye ihtiyacım var –

+3

Kaynağınıza referans vermek güzel olurdu: https://davidwalsh.name/pseudo-element – PhilMarc

İlgili konular