Pergunta

Eu estou tentando clonar um item da lista, e em seguida, anexá-lo para o fundo do que item da lista clonado, nota que deve ser abaixo do item da lista que está sendo clonado, não na parte inferior da lista como eu posso fazer isso Eu mesmo. O objetivo é usá-lo com jQuery.ui classificáveis.

Tudo está funcionando bem, na verdade eu ainda pode obter a clonagem e o direito acrescentando. No entanto, ele acrescenta que antes a tag </li> fechamento e para a vida de mim eu não posso forçá-lo a acrescentar depois esta tag.

Este é o HTML Markup:

<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>

A parte nós estamos preocupados com é class="other" que após ser clicado irá duplicar o item da lista.

Este é o jQuery até agora:

// 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);

})

Isso funciona bem, ele pega o item da lista, clones dele, então despeja-lo na tela - mas no lugar errado: (

<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>

Alguém tem alguma idéia de por que ele não está anexando ao final do item da lista que está sendo clonado, e como resolver isso?

Foi útil?

Solução

talvez você queira usar após vez de appendTo

Outras dicas

Eu acho que o que você quer é o seguinte:

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

insertAfter é o que você está procurando. depois de se inserir o nó original após o clone, em vez do clone após o nó original. Algo como isto deve funcionar:

$(targetStory).clone().inserAfter(targetStory);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top