Es muy raro porque si hago esto, me pone los textareas en rojo:
 
$(this).val().length > 5 
Es decir, si pruebo que el contenido tenga más de 5 caracteres, supuestamente. Lo cual es false porque yo no escribo nada ahí.  
No me funciona esto ni en Opera ni en Firefos ni en Chrome ni en Explorer: 
$(this).val().length == 0 
Tampoco seleccionando así: 
 $(this).attr('value') 
Ni así: 
 $(this).text() 
Este es el html:  
Código HTML:
Ver original-                     <input type="text" name="keywords" value="" /> 
-   
-                     <textarea name="descripcion" rows="9" cols="20"> 
-   
-                     <span class="label">- Instrucciones </span>
 
-                     <textarea name="instrucciones" rows="9" cols="20"> 
-   
-  <input type="file" name="foto" value="" /> 
Me valida hasta el input type file, pero no los textareas :o(