单击列表之间交换选定列表项

时间:2017-12-27 03:58:43

标签: javascript jquery dom

我有两个清单。所有列表项都具有唯一ID。用户可以在每个列表中选择列表项,然后单击顶部的按钮以在列表之间交换所选项。列表可能包含单个列表项,因此我无法使用insertBefore()

我使用以下代码:

$('#button').on('click', function(){
    var oldnode = $('#chapters .path');
    var newnode = $('#topics .active');
    var oldid = oldnode.attr('id');
    var newid = newnode.attr('id');
    var oldinner = oldnode.html();
    var newinner = newnode.html();
    var oldclass = oldnode.attr('class');
    var newclass = newnode.attr('class');
    oldnode.html(newinner).attr('class',newclass).attr('id',newid);
    newnode.html(oldinner).attr('class',oldclass).attr('id',oldid);
});

演示:JSFiddle

这有效,但我需要一个更好的解决方案,因为将来列表项的属性数量可能会增加,并且需要太多行。

谢谢!

0 个答案:

没有答案