Domanda

Sto cercando di clonare un elemento della lista, e quindi aggiungere al fondo di tale elemento lista clonato, notare che dovrebbe essere sotto la voce di elenco di essere clonato, non in fondo alla lista come posso farlo me stessa. Lo scopo è quello di utilizzare con jQuery.ui ordinabile.

Tutto sta funzionando bene, in effetti posso anche ottenere la clonazione e la aggiungendo destra. Tuttavia, aggiunge che prima il tag </li> chiusura, e per la vita di me non posso costringerlo a accodare dopo questo tag.

Questo è il markup HTML:

<ul id="column-2" class="connectedSortable">
    <li class="ui-state-default">
        <div class="label">feature</div>
        <div class="action">
            <div class="delete"></div>
            <div class="other"></div>
        </div>
    </li>
</ul>

La parte siamo interessati con è class="other" che dopo essere stato cliccato duplicherà la voce di elenco.

Questo è il jQuery finora:

// This works fine
$(".other").click(function() {

    // This needs to be set (global) to be used later on in some future code.
    actionTarget = this;        

    // This grabs the whole list item
    var targetStory = $(actionTarget).parent().parent();

    // This clones the list item, as well as appending 
    // that clone to the cloned list item
    $(targetStory).clone().appendTo(targetStory);

})

Questo metodo funziona bene, si afferra la voce di elenco, cloni, poi butta sullo schermo -, ma nel posto sbagliato: (

<ul id="column-2" class="connectedSortable">
    <li class="ui-state-default">
        <div class="label">feature</div>
        <div class="action">
            <div class="delete"></div>
            <div class="other"></div>
        </div>
        <li class="ui-state-default">
            <div class="label">feature</div>
            <div class="action">
                <div class="delete"></div>
                <div class="other"></div>
            </div>
        </li>
    </li>
</ul>

Qualcuno ha qualche idea del perché non è aggiungendo alla fine della voce di elenco di essere clonato, e come risolvere questo?

È stato utile?

Soluzione

forse si vuole utilizzare dopo invece di appendTo

Altri suggerimenti

Credo che ciò che si vuole è questo:

$(targetStory).clone().appendTo(targetStory.parent());

InsertAfter è quello che stai cercando. dopo sarebbe inserire il nodo originale dopo il clone, piuttosto che il clone dopo il nodo originale. Qualcosa del genere dovrebbe funzionare:

$(targetStory).clone().inserAfter(targetStory);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top