将li从一个ul移动到另一个jQuery

i_m*_*ine 6 javascript jquery

我正在尝试将列表项从一个无序列表移动到另一个列表.这在第一次工作正常,但一旦项目被移动,我无法将它们移回.我做了一个小提琴来说明我在说什么.

在这里查看 - > jsfiddle

HTML

<table>
    <tr>
        <td>Numbers</td>
        <td>Letters</td>
    </tr>
    <tr>
        <td>
            <ul class='list1'>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
            </ul>
        </td>
        <td>
            <ul class='list2'>
                <li>a</li>
                <li>b</li>
                <li>c</li>
                <li>d</li>
                <li>e</li>
            </ul>
        </td>
    </tr>
</table>
<input type='button' value='<<' id='move_left' />
<input type='button' value='>>' id='move_right' />
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('body').on('click', 'li', function() {
   $(this).toggleClass('selected');
});

$('#move_left').click(function() {
    $('.list1').append('<li>', $('.list2 .selected').text(), '</li>');
    $('.list2 .selected').remove();
});

$('#move_right').click(function() {
    $('.list2').append('<li>', $('.list1 .selected').text(), '</li>');
    $('.list1 .selected').remove();
});
Run Code Online (Sandbox Code Playgroud)

CSS

ul {
    list-style-type:none;
    padding:0px;
    margin:0px;
}

.selected {
    background-color:#efefef;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那些项目从左向右或从右向左移动,但一旦移动它们就无法将它们移回.任何帮助表示赞赏.

bfa*_*tto 18

它比你想象的容易:

$('#move_left').click(function() {
    $('.list1').append($('.list2 .selected').removeClass('selected'));
});

$('#move_right').click(function() {
    $('.list2').append($('.list1 .selected').removeClass('selected'));
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/KjJCa/2/

将现有元素追加到另一个元素时,它会移动到那里.无需克隆元素并手动删除原始文件.