jQuery le plus proche (); ne fonctionne pas

J’essaie de faire afficher du texte lorsqu’une entrée de texte est active, mais le plus proche (); la méthode ne semble pas fonctionner.

J’ai fait un JS Fiddle à regarder.

et voici le code aussi.

JS

$(document).ready(function(){ $('.validation-error').hide(); $('.name-input').on("focus", function(){ $(this).closest('.validation-error').show(); }); }); 

HTML

 
User Details

This field cannot be blank or less than 2 characters.

This field cannot be blank or less than 2 characters.

This field cannot be blank or less than 2 characters.

Toute aide serait appréciée.

.closest () trouve l’élément parent le plus proche, .validation-error n’est pas un parent de l’élément name-input . Vous avez besoin de l’élément .validation-error qui tombe sous le même object tr que l’élément input.

Vous avez besoin

 $(this).closest('tr').find('.validation-error').show(); 

ou

 $(this).closest('td').next().find('.validation-error').show(); 

Essayez ma version Demo Fiddle bien que la réponse d’Arun P. Johny soit bien meilleure ..

 $(this).parent().siblings().find('.validation-error').show();