2009-09-18 7 views
0

Lorsqu'un élément html a la hauteur et la largeur définies sur zéro, jQuery ne trouve pas l'objet lors de l'utilisation d'un sélecteur et en spécifiant visible bien que l'objet soit visible.Jquery traitant des objets de largeur et de hauteur nulles

par exemple

$ ("# test") des enfants (": visible").

la volonté ci-dessus ne tiennent pas compte des enfants de #test où la largeur et la hauteur est égale à zéro. Est-ce une fonctionnalité prévue ou un bug dans jQuery? Y a-t-il une solution de contournement pour obtenir l'objet?

Merci beaucoup, Arun

PS: J'utilise la dernière version de jQuery - 1.3.2

Répondre

3

Pas un bogue dans jQuery (en fait, le sélecteur Sizzle moteur qui utilise jQuery). À partir de la source jQuery

Sizzle.selectors.filters.visible = function(elem){ 
    return elem.offsetWidth > 0 || elem.offsetHeight > 0; 
}; 

Il vous suffit d'implémenter votre propre filtre avec une logique différente. Le filtre est déclaré sur la ligne 2373 dans le fichier source jQuery-1.3.2.js.

Questions connexes