2011-03-18 24 views
5

सीएसएस में, मैंने सामग्री जोड़ने के लिए body:after का उपयोग किया है, मैं jQuery में अपनी ऊंचाई प्राप्त करना चाहता हूं। मैं यह कैसे कर सकता हूं?का चयन करें: छद्म वर्ग/तत्व

मैंने here से पढ़ा है ऐसे छद्म तत्व संशोधनों के लिए हैं और इस प्रकार अचयनित हैं? मैं :after होना चाहिए जो अंतिम बच्चे का चयन करने के लिए $("body > :last-child") का उपयोग करने में भी असमर्थ प्रतीत होता है?

उत्तर

4

ध्यान दें कि :after और content का उपयोग करके आप जो सामग्री जोड़ते हैं वह node नहीं है - यह आपके दस्तावेज़ में कोई तत्व नहीं है और न ही टेक्स्ट है। आप इसे फ़ायरबग के साथ देख सकते हैं: इस स्क्रीनशॉट में, मेरे एचटीएमएल में "हैलो" शब्द है लेकिन शब्द "दुनिया!"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" > 
    <head> 
     <title>Select :after pseudo class/element</title> 
     <style type="text/css"> 
     #msg:after { 
      content:" World!" 
     } 
     </style> 
     <script type="text/javascript"> 
     window.onload = function() { 
      if(window.getComputedStyle) { 
       var element = document.getElementById("msg"); 
       var style = window.getComputedStyle(element,':after') 
       alert(style.content); 
      } 
      else { 
       alert("This browser sucks!"); // ;) 
      } 
     } 
     </script> 
    </head> 
    <body> 
     <h1> 
      <span id="msg">Hello</span> 
     </h1> 
    </body> 
</html> 

... दुर्भाग्य से, यह आप पहुँच देता है:

Screenshot of a Hello World page where the word World is added with CSS content. FireBug is open, clearly showing that the CSS content does not add an element to the DOM

आप क्या कर सकते getComputedStyle का उपयोग पता लगाने के लिए कौन-सी सामग्री निम्न उदाहरण की तरह, है: सीएसएस का उपयोग कर जोड़ा जाता है सामग्री लेकिन ऊंचाई तक नहीं :(

+6

मुझे आपकी त्रुटि संदेश पसंद है :) –

+0

@MikeHometchko - ठीक है, मैं तुम्हें पसंद करता हूँ, दोस्त! : डी –

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