2016-07-28 15 views
1

Ich versuche, einige Etiketten right Eigenschaft zu setzen, so dass ich es mit der Maus ändern kann.jQuery: Wie kann ich CSS mit eigener Breite einstellen?

Der Grund, warum ich dies über jQuery mache, ist, weil jeder eine andere Größe hat, die es nicht erlaubt, über CSS zu tun. Diese

ist, was ich habe:

$('#vertical-navigation .label').css('right', $(this).width()); 

Was natürlich, nicht funktioniert, weil $(this) zurückkehrt, was ich glaube, dass die Fensterbreite sein.

Wie kann ich die right Position mit der Element eigenen Breite für jeden festlegen?

Antwort

4

Sie können function parameter wie folgt verwenden:

$('#vertical-navigation .label').css('right', function(){ 
    return $(this).width() + 'px'; 
}); 

nun Ihre HTML-Markup abhängig, könnte dies gerade genug sein:

$('#vertical-navigation .label').css('right', '100%'); 
+0

schön, wusste nicht, dass Sie eine Funktion wie diese verwenden könnten – Pete

+0

Per Fekt! Vielen Dank! – Xonox

1

Do it in jeder Schleife, dann können Sie this verwenden:

$('#vertical-navigation .label').each(function() { 
    var label = $(this); 
    label.css('right', label.width() + 'px'); 
});