2010-06-13 10 views
3

J'ai un formulaire avec 3 sections dedans. Chaque section a un div dédié pour des messages d'aide contextuels assez longs concernant l'entrée qui a le focus. Ma question est, si je donne à chacun de ces help div une classe de "tip de forme" et chaque entrée qui a un tip de la classe "has-tip", comment puis-je obtenir la pointe de toujours apparaître dans le div précédent "form-tip"?jQuery - recherche du sélecteur précédent par rapport au courant

Quelque chose comme:

$('.has-tip').each(focus(function() { 
    var tip = $(this).attr('title'); 
    // Find most recent $('.form-tip') in the DOM and populate it with tip 
})); 

J'espère que le bon sens ... Merci pour toute aide.

Répondre

1
var container = $(this).closest('.form-tip') 

dans le. Si je comprends bien.

2

Si le .has-tip est un enfant de .form-tip vous pouvez alors utiliser .closest() comme ceci:

$('.has-tip').each(focus(function() { 
    var tip = $(this).attr('title'); 
    var ft = $(this).closest('.form-tip'); 
    // Find most recent $('.form-tip') in the DOM and populate it with tip 
})); 

Si c'est un frère, vous pouvez utiliser .prev('.form-tip') ou si ce n'est pas immédiatement avant, il est .prevAll('.form-tip: first').

Questions connexes