2016-09-14 7 views
6

मैं अपने वेबपृष्ठ पर <br /> की ऊंचाई प्राप्त करने का प्रयास करता हूं। मैं इस स्निपेट का उपयोग करता हूं।jquery का उपयोग कर "br" तत्व की ऊंचाई कैसे प्राप्त करें?

br_size = $('br').height(); 
console.log(br_size); 

लेकिन केवल Mozilla Firefox इस कोड की तरह, अन्य सभी ब्राउज़रों वापस देना 0. वहाँ एक छोटी जे एस कोड है कि मुझे सही ऊंचाई वापस देता है?

पुनश्च: मैं इस विधि का उपयोग, क्योंकि मुझे पता है कि जरूरत आकार XX= other_size - 4*br_size

+0

शायद आपको 'लाइन-ऊंचाई' सीएसएस संपत्ति के साथ ऊंचाई की गणना करने की कोशिश करनी चाहिए। –

+0

आपको इस [विषय] (http://stackoverflow.com/questions/3518436/jquery-height-problem-with-chrome) पर एक नज़र डालना चाहिए –

+0

मैंने उत्तर पोस्ट में नया समाधान शामिल किया है। – Mohammad

उत्तर

2

लाइन ब्रेक, line-height HTML/शरीर टैग में निर्दिष्ट स्थान पर निर्भर करता है। हालांकि, यदि आप लाइन-ऊंचाई निर्दिष्ट करते हैं, तो 20px कहें तो लाइन-ब्रेक 20px होना चाहिए। आप शायद डिफ़ॉल्ट line-height

(function() { 
 
    var br = document.getElementById('foo'); 
 
    alert(br.scrollHeight); 
 
    if (br.currentStyle) { 
 
    alert(br.currentStyle['lineHeight']); 
 
    } else { 
 
    alert(document.defaultView.getComputedStyle(br, null).getPropertyValue('line-height')); 
 
    } 
 
})();
<br id="foo" />

+1

क्रोम में 0 रिटर्न के माध्यम से सीमा निर्धारित करते हैं .. केवल एफएफ –

+0

में काम करता है मेरे लिए काम करता है, पहली चेतावनी "0" है लेकिन दूसरी तरफ सही है। –

+0

क्रोम 52 पर दूसरी चेतावनी "सामान्य" –

0

कैसे outerHeight बारे में है? अगर एक तो निर्दिष्ट नहीं है ब्राउज़र की संभावना अपने स्वयं के उपयोग करेगा

$('br').outerHeight(); 

https://jsfiddle.net/6fag6tos/

+0

काम नहीं करता है ... आपका बाहरी हाइट() 2px दिखाता है क्योंकि आप सीआर –

0

यह प्रतीत नहीं होता <br>height संपत्ति है निर्धारित करने के लिए जावास्क्रिप्ट इस्तेमाल कर सकते हैं। इसके अलावा आप ब्राउजर के निरीक्षण में इसे ऊंचाई नहीं देख सकते हैं।

var height = $("br").next().position().top - $("br").position().top 
 
console.log(height);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Hello</p> 
 
<br/> 
 
<p>Goodbye</p>

0

this का प्रयास करें: यदि <br> के बाद एक और elemetn है, तो आप इस कोड का उपयोग कर सकते हैं। क्रोम पर काम करता है।

var br = $('br').first(); 
var div = $('<div>Text</div>'); 

div.css({ 
    'font-size': br.css('font-size'), 
    'line-height': br.css('line-height'), 
    'position': 'fixed', 
    'visibility': 'hidden', 
}); 

$('body').append(div); 

alert(div.outerHeight()); 

div.remove(); 
संबंधित मुद्दे