使用jQuery将列表项从一个列表复制到另一个列表

| 我正在尝试从一个列表中获取项目列表,然后将其放入另一个列表中。 这就是我所拥有的:
$(\"#change\").click(function () {
    arr = $(\'#old\').map(function () {
        return $(this).text();
    }).get();

    $.each(arr, function (index, item) {
        $(\'#test\').append($( \"<ul><li>\" + item + \" at \" + index +\"</li>\" ));
    });
});
HTML:      
<ul id=\"old\">
    <li>One</li><li>Two</li><li>Three</li>
</ul>
<ul id=\"new\"></ul>
它将从
old
中取出项目并将其放入
new
中。似乎将所有项目放入一个
<li>
时,它会放在
new
中。     
已邀请:
只需先在新列表中添加
clone()
appendTo()
$(\'#old > li\').clone().appendTo(\'#new\');
然后更改他们的
text()
$(\'#new > li\').text(function (index, text) {
    return text + \' at \' + index;
});
一个有效的演示:http://jsfiddle.net/vkYUQ/。 或者,将以上内容合并为一个语句:
$(\'#old > li\').clone().text(function (index, text) {
    return text + \' at \' + index;
}).appendTo(\'#new\');
    
$(document).ready(function() {
    $(\"#change\").click(function() {
        var old = $(\"#old\");
        var items = $(\"#old li\");
        var newList = $(\"#new\");
        items.each(function(index, value){
            newList.append(value);
        });
        old.empty();
        return false;
    });
});
    
您可以使用
data()
复制HTML并将其存储在数据中
var $old=$(\'#old\');
$old.data(\'myhtml\',$old.html());
要将副本插入“ 15”,您可以
var x = $old.data(\'myhtml\');
$(x).appendTo(\'#test\');
    
为您演奏了一个小提琴: http://jsfiddle.net/yEgMK/1/ 现在,
clone()
是一种方式,复制
.html()
是另一种方式,可能还有其他几种方式。查看jQuery \ API的不同之处: http://api.jquery.com/clone/ http://api.jquery.com/html/     

要回复问题请先登录注册