Je n'arrive pas à obtenir l'appendice au travail. Qu'est-ce que je fais mal?
$('div:nth-child(2n) img').appendTo(parent);
Marquage actuel:
<div class="container">
<img src="123.jpg" />
<p>Hey</p>
</div>
<div class="container">
<img src="123.jpg" />
<p>Hey</p>
</div>
Je veux cette sortie:
<div class="container">
<p>Hey</p>
<img src="123.jpg" />
</div>
<div class="container">
<p>Hey</p>
<img src="123.jpg" />
</div>
S'il vous plaît aidez-moi les gars ... Je me déchire les cheveux de chaque minute ..: -S
Ce qui suit devrait suffire:
$("div>img").each(function(){
$(this).appendTo($(this).parent());
});
Regardez le travail ici: http://jsfiddle.net/EtxqL/
Vous ne pouvez pas déduire le parent de chaque élément du paramètre 'selector' à appendTo (). La seule façon de faire ce que vous voulez est de parcourir les éléments en les ajoutant tous à leur parent. Découvrez les API dans le lien suivant.
Est-ce ce que vous recherchez?
$('.container > img').each(function () {
$(this).parent().append(this);
});
Il prend simplement le <img>
dans chaque conteneur et se déplace en tant que premier enfant du conteneur.
Vous pouvez utiliser .prepend () au lieu de append Ajouter un insert à la fin du parent. Mais insérer un ajout au début à partir du parent. So alors comme:
$('.container > p').each(function () {
$(parent).prepend(this);
});
J'ai fait un petit exemple et j'espère que vous voulez dire la même chose ...
$(document).ready(function() {
$('.container > img').each(function() {
$(this).parent().append(this);
});
});