2009-05-26 11 views
2

$ ("span: last-child"). Hide ("rapide", fonction() { $ (this) .prev(). Hide ("rapide", arguments.callee); });que signifie ce code dans Jquery?

Je ne peux pas comprendre ce point dans le code AÉRIEN:

1) ("Span: last-child"): qu'est-ce?

2) arguments.callee: qu'est-ce?

Répondre

8

$ est la fonction principale de jQuery. Recherche les <span> balises qui sont le dernier enfant de leur parent.

: Finds

<div><span>some data </span> something else <span>testing</span></div> 

Il trouverait la durée qui comprend testing mais pas le some data.

Il cache ensuite les portées qu'il a trouvées. Le deuxième argument à masquer est un rappel après l'animation. Ce rappel va à l'enfant "précédent" (le noeud de texte "autre chose"), le cachant et passant la "fonction appelée" (arguments.callee) comme callback. Ce qui en fait une fonction "récursive".

Cela masquerait le contenu entier de tous les blocs ayant un <span> comme dernier enfant.

0

("span:last-child") Renvoie tous les éléments de portée qui sont le dernier enfant de ses parents. Le arguments.callee ressemble à son essayer de passer la fonction elle-même à la fonction suivante. Essentiellement, il passe un pointeur de fonction. Il ressemble à ce qu'il fait est de trouver l'objet span, puis cache récursivement tous les frères et sœurs antérieures.

0

span:last-child sélectionne le dernier élément enfant dans chaque intervalle.

arguments.callee est une référence à la fonction dans laquelle il est appelé, fonctionne même pour des fonctions sans nom.

+0

le premier point est incorrect. Il renvoie les travées qui sont le dernier enfant de leurs parents. – Jherico

0

("span: last-child") correspondra à l'étendue du dernier enfant de son parent. Arguments.callee est une référence à la fonction 'réelle' appelée. Dans ce cas, ce serait simplement asséner la même fonction de masquage au frère précédent. En effet, créer une 'nouvelle' dernière période.