这是我的代码: 对于质量和格式感到抱歉。 基本上,我想要的是将一个 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);*/
}
}
最佳答案
您不能任意复制其他人的代码(例如 Google map )使用的对象,因为如何实现该操作取决于创建或管理这些对象的特定代码。
您可以使用 jQuery 的 .clone()
克隆您自己创建的对象,这些对象由 jQuery 事件处理程序和 jQuery 数据管理,而不是由任何直接 DOM 引用管理,而是由其他类型创建或管理的对象的代码必须用其他代码重新创建。
因此,在这种情况下,如果您确实想要 Google map 的第二个副本,则必须使用 Google API 制作一个与第一个 map 具有相同规范的新 map ,然后将其放在第二个位置.
关于jquery - 将包含对象的 div 复制到另一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549888/