2013-02-16 14 views
7

के साथ सीएसएस के मैं निम्नलिखित सीएसएसजाओ इससे पहले कि-सामग्री jQuery

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

और इस HTML

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

दिया सीएसएस मैं की तरह

Chapter 1 
A Title 

कुछ पाने के साथ जब मैं jQuery के साथ पाठ प्राप्त करने का प्रयास करें मुझे "एक शीर्षक" मिलता है। क्या "अध्याय 1 \ n ए शीर्षक" प्राप्त करने की संभावना है?

धन्यवाद

उत्तर

25

उपयोग getComputedStyle():

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

before() डोम पार करने के लिए प्रयोग किया जाता है एक jQuery विधि है, यह हो जाता है/पिछले तत्व सेट, यह नहीं पहुँच छद्म तत्व है।

Working JS Fiddle, Eric द्वारा आपूर्ति की गई।

हालांकि दुर्भाग्यपूर्ण चेतावनी है कि इस दृष्टिकोण रिटर्न content घोषणा में प्रयोग किया जाता शाब्दिक स्ट्रिंग, बल्कि वास्तविक उत्पन्न-सामग्री की तुलना में है।

+0

किसी भी दिलचस्पी के लिए काम करना मूर्ख: http://jsfiddle.net/YdMcv/2/ – Eric

+0

दरअसल, यह सही नहीं है क्योंकि यह शाब्दिक 'सीएसएस फ़ाइल से सामग्री' से पहले प्राप्त होता है, वास्तविक उत्पन्न नहीं सामग्री। ओपी चाहता है 'अध्याय 1', 'अध्याय" काउंटर (lvl1) 'नहीं ... कूल जवाब लेकिन मुझे नहीं लगता कि यह इस मामले में उपयोगी होगा। –

+0

@Eric: इसके लिए धन्यवाद, संपादित किया गया। –

संबंधित मुद्दे