2008-11-19 13 views
1

J'ai une forme avec un DIV, 3 ENTRÉES, chaque entrée se trouve dans un élément LABEL. Je voudrais changer l'image de fond de l'élément DIV en mettant l'accent sur chaque entrée.Elément ancêtre de style d'entrée de formulaire: focus (jQuery)

Je ne peux pas remonter le DOM pour corriger cela avec CSS, donc quelqu'un pourrait suggérer quelques lignes de jQuery s'il vous plaît?

Merci

Répondre

1
$('input').focus(function(){ 
    $(this).parent().parent().addClass('highlight'); 
}).blur(function(){ 
    $(this).parent().parent().removeClass('highlight'); 
}); 
3
$('div input').focus(function(){ 
    $(this).parents('div:eq(0)').addClass('specialCSSclass'); 
}).blur(function(){ 
    $(this).parents('div:eq(0)').removeClass('specialCSSclass'); 
}); 

Vous devez créer une classe dans votre CSS, puis remplacer "specialCSSclass" avec elle.

0

jQuery le plus proche est également une option.

closest(selector) 
    .closest(selector) 
    .closest(selector, [ context ]) 
closest(selectors, [ context ]) 
    .closest(selectors, [ context ]) 

par la description .. Obtenir le premier élément ancêtre qui correspond au sélecteur, en commençant par l'élément en cours et progresse à travers l'arborescence DOM.

http://api.jquery.com/closest/