2016-04-09 8 views
-2

So verwenden bei der Verwendung von border-Box gibt es keine tatsächliche Breite Eigenschaft, also kann ich es nicht durchkommen:Erhalten Breite des Elements mit jquery wenn border-Box

$("#my_id").width() 

noch

.outerWidth() 

noch irgendetwas anderes Meine Vermutungen sind, dass es durch Pixel berechnet werden muss, weiß ich nicht, scheint zu kompliziert, es muss einen einfacheren Weg geben.

Danke!

P.S. - Verwendung von Bootstrap -. Mit jQuery (? Offensichtlich rechts)

+0

Jede jsfiddle oder Arbeits Demo ?? –

+0

Unklar was Sie fragen; .width() funktioniert gut für Elemente mit Box-Sizing: border-box, siehe https://jsfiddle.net/72twd1ye/ – CBroe

+0

Es ist klar, was OP gefragt wird./Wie auch immer, ich habe 'outerWidth()' getestet und es funktioniert gut, [Siehe] (https://jsfiddle.net/n6rj32ac/) – Pedram

Antwort

0

Diese Demo Regel darauf hin, dass jQuery nicht Breite nicht geben. Es gibt.

$(document).ready(function(){ 
 

 
var beforeBorderBox = $('.holly-molly').outerWidth(); 
 
$('.holly-molly').append('<p>beforeBorderBox:'+ beforeBorderBox + '</p>'); 
 
var afterBorderBox = $('.holly-molly').css('box-sizing', 'border-box').outerWidth(); 
 

 
$('.holly-molly').append('<p>afterBorderBox:'+ afterBorderBox + '</p>'); 
 

 
});
.holly-molly { 
 
    background: tomato; 
 
    min-height: 80px; 
 
    text-align: center; 
 
    color: #fff; 
 
    padding: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="holly-molly"> 
 
    <span>Holly Molly</span> 
 
</div>

+0

Die Verwendung der "äußeren" Eigenschaft schien den Trick zu tun! Vielen Dank! – Kevin

0

Wir sollten mit dem tatsächlichen Elemente erhalten, indem $ ("# my_id") unter Verwendung von Breite(). Wenn Sie auch das Padding einschließen möchten (ohne Rahmen), können Sie $ ("# my_id") verwenden. InnerWidth(). Wenn auch Sie enthalten Marge wollen, dann können Sie $ (# my_id ') verwenden. Outer (true))

+0

Der Punkt ist, es gibt keine Breite in CSS definiert, daher kann ich das nicht verwenden, sagte ich dass in der Beschreibung :) – Kevin

Verwandte Themen