2010-04-15 3 views
0

J'ai une fonction avec une chaîne de filtres dans jQuery. J'essaie de définir le focus() sur le premier élément de mon dernier ensemble filtré d'éléments.Sélectionner le premier élément de la liste filtrée jQuery

Cela me donne mon jeu désiré de résultats, donc je l'ai obtenu jusque-là:

$("div[class='st_d']").filter(function() { 
    return !($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none'); 
    }).find(":input[type=text]"); 

Ce que je suis en train de faire quelque chose comme ça, où sur mon jeu désiré résultat, l'accent mis sur la première élément dans ce résultat:

$("div[class='st_d']").filter(function() { 
    return !($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none'); 
    }).find(":input[type=text]:first").focus(); 

Merci!

Répondre

1

utilisation .eq() pour réduire le jeu de résultats à un seul élément par son index, par exemple

$("div[class='st_d']").filter(function() { 
    return !($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none'); 
    }).find(":input[type=text]").eq(0).focus(); 
+0

Impressionnant, merci! – jaywon

Questions connexes