.detach().appendTo(..) Perchè non funziona?

otto9due

Utente Attivo
22 Feb 2014
529
21
28
sto provando una cosa del genere, ma non sembra funzionare e non capisco il perchè..
In pratica al click di una delle due freccette l'ultimo li dovrebbe essere eliminato, ma conservato in memoria con detach() e poi appeso in base alla freccetta cliccata o all'inizio o alla fine dell'ul..
Codice:
$(document).on('click','.up', function() {
        $('.offer-column ul li:last').detach().appendTo('.offer-column ul');
});
$(document).on('click','.down', function() {
        $('.offer-column ul li:first').detach().prependTo('.offer-column ul');
 });
l'html è molto semplice:
HTML:
<div class="offer-column ">
    <ul>
        <li>
            <div><h3>Titolo</h3></div>
            <div class="price-off">€68</div>
            <div><h4>Around 22,600 creative enterprises, predominantly SMEs, generated over 18,6 billion Euro in total revenue.</h4></div>
            <div class="img-off"><img src="http://www.miosito.com/prova.jpeg" alt="test"></div>
        </li>
        <li>
            <div><h3>Titolo</h3></div>
            <div class="price-off">€68</div>
            <div><h4>Around 22,600 creative enterprises, predominantly SMEs, generated over 18,6 billion Euro in total revenue.</h4></div>
            <div class="img-off"><img src="http://www.miosito.com/prova.jpeg" alt="test"></div>
        </li>
        <li>
            <div><h3>Titolo</h3></div>
            <div class="price-off">€68</div>
            <div><h4>Around 22,600 creative enterprises, predominantly SMEs, generated over 18,6 billion Euro in total revenue.</h4></div>
            <div class="img-off"><img src="http://www.miosito.com/prova.jpeg" alt="test"></div>
        </li>
        <li>
            <div><h3>Titolo</h3></div>
            <div class="price-off">€68</div>
            <div><h4>Around 22,600 creative enterprises, predominantly SMEs, generated over 18,6 billion Euro in total revenue.</h4></div>
            <div class="img-off"><img src="http://www.miosito.com/prova.jpeg" alt="test"></div>
        </li>
    </ul>
</div>

<div class='container-vert-off'>
    <i class="fa fa-caret-down down"></i>
    <i class="fa fa-caret-up up"></i>
</div>


Questo invece funziona.... Perchè??????
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("p").detach().appendTo('div');
  });
});

$(document).ready(function(){
  $("button.2").click(function(){
    $("p").detach().prependTo('span');
  });
});

</script>
</head>
<body>

<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<div></div>
<span></span>
<button>Metti in div</button>
<button class='2'>Metti in span</button>

</body>
</html>
 
Ultima modifica:

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Risolto.. In pratica funzionava tutto correttamente, solo che appendevo l'ultimo li come ultimo li, quindi non vedevo variazioni, è bastato invertire prependTo e appendTo è walaà.. Grazie comunque