Копирование div, содержащего объекты, в другой div - PullRequest
2 голосов
/ 04 марта 2012

Вот мой код: Извините за качество и форматирование. По сути, я хочу скопировать все содержимое (текст, объекты) div в другой div. div #results содержит карту Google и некоторые другие объекты. Я пытался использовать .clone также, но он не работает. Весь текст копируется правильно, но карта Google в # 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 Ответ

2 голосов
/ 04 марта 2012

Вы не можете произвольно копировать объекты, которые используются кодом других людей (например, Google Map), потому что то, как вы будете выполнять эту работу, зависит от конкретного кода, который создал или управляет объектами.

Вы можете использовать jQuery .clone() для клонирования созданных вами объектов, которые управляются обработчиками событий jQuery и данными jQuery, а не прямыми ссылками DOM, но объекты, созданные или управляемые другими типами кода, придется создавать заново с этот другой код.

Таким образом, в этом случае, если вы действительно хотите вторую копию Карты Google, вам придется использовать API Google, чтобы создать новую MAP с теми же характеристиками, что и первая, которую вы можете поместить во второе местоположение. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...