2010-11-08 5 views
3

Hay tous, j'ai une grande base de jQuery. Ce que je suis en train de faire est de prendre le premier div d'un groupe de div et faire devenir le dernier div dans le groupe, le HTML ressemble à ceci.after() en mettant le premier div comme le dernier

<div> 
    <div id=1></div> 
    <div id=2></div> 
    <div id=3></div> 
    <div id=4></div> 
</div> 

Je suis im en utilisant

$("div div:first").after($("div div:last")); 

Cependant, cela ne fonctionne pas.

des idées?

Répondre

2

Vous avez vos éléments en arrière. Le premier sélecteur doit sélectionner l'élément que vous souhaitez insérer après et le second sélecteur prend l'élément que vous souhaitez insérer:

$('div div:last').after($('div div:first')); 
+0

Toujours pas fonctionné, d'autres idées? – dotty

+0

@dotty - Il y avait une faute de frappe. J'ai oublié d'envelopper le second sélecteur dans l'objet jQuery. –

+0

En fait, cela fonctionne. Il y avait un autre problème avec une autre zone du javascript qui donnait l'impression que ça ne fonctionnait pas. Merci pour la solution. – dotty

0

Vous avez votre jQuery dans le mauvais sens. Vous ajoutez la dernière div après la première div. Donc, vous pouvez réorganiser votre jQuery ou une autre solution pourrait être (si vous avez une classe sur le div de haut niveau)

$('.someClass div:first').appendTo($('.someClass')); 
+0

Cela ne serait-il pas prioritaire? Le mettre à la fin de la liste? – dotty

+0

AppendTo ajoute les éléments sélectionnés à la fin de l'élément dans la fonction, tandis que prependTo les ajoute au début. C'est la signification standard d'append et de prepend. ;-) –

Questions connexes