2009-10-20 7 views
0
$('#div1').children('div:last').css('border-bottom', ''); 
$('#div2').focus(); 

J'utilise ci-dessus et cela fonctionne très bien avec ie mais pas avec chrome & safari. Je n'ai pas essayé FF.jquery questions avec chrome/safari

La première ligne est de trouver tous les enfants div et supprimer le soulignement du dernier. 2ème est de se concentrer sur div2 sur une action.

Qu'est-ce qui pourrait ne pas fonctionner ici? Ou ai-je besoin d'un traitement spécial pour ces navigateurs?

+0

J'utilise normalement 'text-decoration: none' pour supprimer le soulignement. – powtac

Répondre

1

mise au point() est vraiment destiné à être utilisé avec des éléments d'entrée - qui une DIV est ne pas. Bien sûr, je n'ai aucun moyen de savoir si vous avez donné à l'une de vos entrées le nom "div2", mais je ne pense pas. Je pense que ce que vous voulez vraiment faire est de faire défiler jusqu'à la position de la div, ne pas lui donner le focus (ou vous pourriez donner un focus à une entrée dans la div). Heureusement, il y a un plugin pour cela. En ce qui concerne le problème de la bordure, j'essaierais d'utiliser 'none' au lieu de ''.

0

Avez-vous essayé cela à la place?

$('#div1').children('div:last').css('border-bottom', 'none'); 
$('#div2').get(0).focus(); 
0

Si vous souhaitez supprimer la bordure inférieure, essayez de définir la largeur de la bordure à 0:

$('#div1').children('div:last').css('border-bottom-width', '0'); 
0

Pour le premier, essayez ceci:

$('#div1').children('div:last-child').css('border-bottom', '0'); 

pour le second, je suis d'accord avec tvanfosson.