jQuery Cambiar altura de línea en CSS dependiendo del número de caracteres

Tengo un widget de Twitter en mi sitio que muestra el tweet más reciente de nuestra compañía. Sin embargo, si el tweet tiene más de una cierta longitud, no cabe en el contenedor del sitio y se corta. Me gustaría modificar programáticamente el CSS de altura de línea del elemento según el número de caracteres en el tweet.

El CSS que define esta parte del elemento se muestra aquí:

ul.tweet_list li{overflow-y: hidden;overflow-x: hidden;padding: 0.5em !important;height: 55px;line-height:55px;vertical-align: middle} 

y en la página, el elemento se genera solo con este código:

 

Necesito detectar si el tweet tiene más de ‘X’ cantidad de caracteres, y si es así, cambie la altura de la línea de 55px a 24px. No estoy tratando de centrar verticalmente el texto, sino más bien …

Ejemplo: http://justpaste.it/twitter-widget Si el texto es demasiado largo, se corta alrededor de donde se ve el “contenedor blanco” encima de él. Quiero cambiar la altura de la línea de esta “barra” de texto para que se ajuste a la siguiente línea Y permanezca en mi contenedor “rojo”.

En teoría, esto se haría con PHP, pero soy consciente de que probablemente necesite usar jQuery.

EDITAR: Aquí está el JS que produce el tweet:

 /* Twitter initiates. Enter your username here. */ jQuery(function($){ $(".tweeter_widget").tweet({ join_text: "auto", username: "username", avatar_size: null, count: 1, auto_join_text_default: "", auto_join_text_ed: "", auto_join_text_ing: "", auto_join_text_reply: "", auto_join_text_url: "", loading_text: "loading tweets..." }); }); 

Solutions Collecting From Web of "jQuery Cambiar altura de línea en CSS dependiendo del número de caracteres"

ver este violín

 var cnt = $(".tweeter_widget").text().length; if (cnt > 10) { $(".tweeter_widget").css("line-height", "5px"); } 

es decir: si hay más de diez caracteres en el div que contiene el Tweet, cambie la altura de la línea.

Código editado para incluir en el setter de DIV de tweet, aunque es probable que todavía haya trabajo por hacer:

 /* Twitter initiates. Enter your username here. */ jQuery(function($){ $(".tweeter_widget").tweet({ join_text: "auto", username: "username", avatar_size: null, count: 1, auto_join_text_default: "", auto_join_text_ed: "", auto_join_text_ing: "", auto_join_text_reply: "", auto_join_text_url: "", loading_text: "loading tweets..." }); if ($(".tweeter_widget").html().length > X) { $(".tweeter_widget").css('line-height', '24px'); } }); 

Es probable que esto se actualice dinámicamente, querrá retrasar esto con algún tipo de callback. Si entiendo correctamente la API de tweet, podría usar el parámetro de filtro para hacer esto:

 /* Twitter initiates. Enter your username here. */ jQuery(function($){ $(".tweeter_widget").tweet({ join_text: "auto", username: "username", avatar_size: null, count: 1, auto_join_text_default: "", auto_join_text_ed: "", auto_join_text_ing: "", auto_join_text_reply: "", auto_join_text_url: "", loading_text: "loading tweets...", filter: function(t) { if (t.tweet_raw_text.length > X) { $(".tweeter_widget").css('lineheight', '24px'); } return t; } }); }); 

No he probado este código, por supuesto.