2012-01-02 45 views
13

Por ejemplo, quiero agregar 20px a <div id='example'></div>, que actualmente es 20px.¿Cómo agregar altura a la altura existente?

Pude obtener la altura existente y agregar 20px e ingresarla como la nueva altura, pero deseo saber si hay una manera mejor de que funcione como un operador +=.

+1

Por qué no utilizar la '+ =' operador? – Purag

Respuesta

17

Puede pasar una función en height() que tiene la altura actual del elemento como un argumento y la return de la función será la nueva altura:

$('#example').height(function (index, height) { 
    return (height + 20); 
}); 

Aquí es una demostración: http://jsfiddle.net/grajh/

Docs: http://api.jquery.com/height/

+2

+1 buen código aislado. – andlrc

1

De esa manera:

$('#example').height($('#example').height() + 20); 
22

Hay muchas maneras de hacerlo: http://jsperf.com/jquery-height-vs-css-height

jsbin.com/utaduy

$('#example').css("height", "+=20px"); 

$('#example').height($("#example").height() + 20); 
+0

$ ('# example'). Css ("altura", "+ = 20"); No funciona para mi! – whamsicore

+0

Todavía no funciona por alguna razón. Pensé que era porque mi elemento no tenía una propiedad de altura establecida para empezar. Sin embargo, cuando configuré uno y lo intenté nuevamente, todavía no funcionó. – whamsicore

Cuestiones relacionadas