将包含对象的div复制到另一个div

时间:2012-03-03 21:09:44

标签: jquery object html google-maps-api-3 copy

这是我的代码: 对不起质量和格式。 基本上,我想要的是将div的所有内容(文本,对象)复制到另一个div中。 div #results包含一个谷歌地图和一些其他对象。 我也试过使用.clone,但它没有用。所有文字都被正确复制,但#results2中的谷歌地图没有显示出来。 我需要这样做,因为我必须根据值对div进行排序并在页面中显示它们并执行导航系统。

   /*created_div=new Object();*/
    var my_div=create_div_test(p[z],my_traversed_edge,board,alight,visited_bus,tot_distance,tot_time);

    if(my_div!=null){
        v='#';
        v+='results';
        $('#results').html(my_div);
        var x='animate';
        var v='#animater';
        v+=div_id;
        x+=div_id;
        var visited_id='#visited';

        visited_id+=div_id;

        created_div.my_id=div_id;
        var map=create_map(div_id);
        var poly=retrieve_results_edges(bus_stops_visited,map);



        var strVar="";
        strVar += "<span class=\"animate\">";
        strVar += "<input type=\"button\"  id="+x+" name=\"animate\"  value=\"Animate\" \/>";
        strVar += "<\/span>";
        $(v).append(strVar);

        retrieve_the_stops(bus_stops_visited,map);
        var str_var=show_visited_stops(bus_stops_visited,map);


        $(visited_id).append(str_var);
        $('#'+x).bind('click',{poly:poly,map:map}, function(event) {

               animate(event.data.poly,event.data.map)
         });

        set_map(map);

        set_polyline_color(my_traversed_edge,bus_stops_visited,map);
        $('#results2').html($('#results').html());

       /*created_div.htmlContent=$('#results').clone();

       $('#results').empty();

       created_div.totaldistance=tot_distance;

       created_div.totaltime=tot_time;

       my_divs.push(created_div);*/

    }
    }

1 个答案:

答案 0 :(得分:2)

您无法随意复制其他人的代码(例如Google地图)使用的对象,因为您的工作方式取决于创建或管理对象的特定代码。

您可以使用jQuery的.clone()来克隆您自己创建的由jQuery事件处理程序和jQuery数据管理的对象,而不是任何直接的DOM引用,但是由其他类型的代码创建或管理的对象必须是用其他代码重新创建。

因此,在这种情况下,如果您真的想要Google地图的第二个副本,则必须使用Google API制作新的MAP,其规格与您可以放在第二个位置的第一个相同