2013-02-16 15 views
7

ile CSS ben aşağıdaki CSSGet önce-İçerik jQuery

h1:before { 
    content: "Chapter " counter(lvl1) "\000d\000a"; 
    counter-increment: lvl1; 
    white-space: pre-wrap; 
} 
h1 { 
    page-break-before: right; 
} 

ve ben

Chapter 1 
A Title 

gibi bir şey olsun verilen CSS ile bu HTML

<p>...</p> 
<h1>A Title</h1> 
<p>...</p> 

zaman jQuery ile metin almaya çalışıyorum "Bir Başlık" olsun. "Bölüm 1 \ nA Başlık" almak için bir olasılık var mı?

sayesinde

cevap

25

kullanımı getComputedStyle():

$('h1').each(function(){ 
    console.log(window.getComputedStyle(this,':before').content); 
}); 

before() DOM hareket için kullanılan bir jQuery yöntemdir, bu alır/önceki elemanı belirler, bu değil erişim sözde elemanı yapar. Eric tarafından sağlanan

Working JS Fiddle

.

bu yaklaşım yerine fiili oluşturulan içerik yerine, content beyanında kullanılan literal dize döndürür talihsiz ihtar olduğunu rağmen.

+0

İlgilenen herkes için çalışma korsanı: http://jsfiddle.net/YdMcv/2/ – Eric

+0

Aslında, bu tam olarak CSS dosyasından, içerikten üretilen içerik: içeriği. OP Bölüm 1' değil, 'Bölüm" Karşı (lvl1) '... Serin cevap' istiyor ama bu durumda yararlı olacağını sanmıyorum –

+0

@Eric:.. Bunun için teşekkürler, düzenlenmiş-in –

İlgili konular