Pongo mi html, para que se den una idea:

<div id="bloque_capitulo1_libro" >
<div>
<label> 1. Capitulo </label>
<input type="text" name="capitulo1_libro" id="capitulo1_libro"/>
<span class="borrar_campos" > - </span>
</div>
<div>
<div class="css_file">
<label> Subir Capitulo </label>
<div class="input_file">
<div class="boton_file" >Examinar</div>
<input type="file" name="file_capitulo1_libro" id="file_capitulo1_libro" class="input_file_capitulo" />
</div>
<span class="nombre_file" >Ningún archivo seleccionado</span>
</div>
</div>
</div>
<div id="bloque_capitulo2_libro" >
<div>
<label> 2. Capitulo </label>
<input type="text" name="capitulo2_libro" id="capitulo2_libro"/>
<span class="borrar_campos" > - </span>
</div>
<div>
<div class="css_file">
<label> Subir Capitulo </label>
<div class="input_file">
<div class="boton_file" >Examinar</div>
<input type="file" name="file_capitulo2_libro" id="file_capitulo2_libro" class="input_file_capitulo" />
</div>
<span class="nombre_file" >Ningún archivo seleccionado</span>
</div>
</div>
</div>

entonces lo que hago es que por un script al dar click en el span se active el input file a travez de un identificador y me pida buscar un archivo.

Hasta alli esta bien, el asunto ahora es que al dar click en el span .nombre_file se active el input file anterior a este span.

Lo hice con prev y con prevAll y no pasa nada.

$("span.nombre_file").click(function(){
$(this).prevAll(".input_file_capitulo:first").trigger("click");
});

Alguna idea?