Estaba modificando mi código HTML para que lo leyeras de manera simple, he ido a probarlo antes de postearlo y resulta que hace exactamente lo que buscaba.
._.
No sé cómo no lo he visto antes, ha debido ser una tontería que al modificar en un descuido ha empezado a funcionar de pura casualidad!
Bueno, dejo el código:
Código HTML:
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".renombrar").click(function(e) {
$(this).parents().siblings(".nombrearchivo").html("My text is changed!");
e.preventDefault();
});
});
</script>
<div class="caja">
<p>
Archivos
</p>
<div class="separador"></div>
<div class="archivo">
<div class="nombrearchivo">
<a href="?f=descargar&id=2">
<b>Archivo1.pdf</b>
</a>
</div>
<div class="fechayaccionescomentario">
<a class="renombrar">
Renombrar
</a>
</div>
</div>
<div class=separador></div>
<div class="archivo">
<div class=nombrearchivo>
<a href="?f=descargar&id=1">
<b>Archivo2.pdf</b>
</a>
</div>
<div class="fechayaccionescomentario">
<a class="renombrar">
Renombrar
</a>
</div>
</div>
<div class="separador"></div>
</div>
Todavía no he terminado, tengo que encontrar la forma de enviar el nombre al jQuery para que me lo meta en un input, a ver si me podéis ayudar con eso o abro otro post? Gracias
Edit: Ya lo he conseguido yo solo:
Código:
$(this).parents().siblings(".nombrearchivo").html('<input type="text" value="' + document.getElementsByClassName("nombre")[0].innerHTML + '">');
.