You can do that with following code;
$.get("page1.php", function(data) {
var html = $('<div>',{html:data});
var my_content = html.find("#div1").text();
$("#div2").html(my_content);
});
Here is a working fiddle: http://jsfiddle.net/uKBL3/1/
Note: I have used jsfiddle json service for ajax simulation.
Second way: You can load page1.php in to a hidden div and read content from hidden div. By loading in to hiddendiv, your js codes will be triggered and dynamic content will be fetched. After that, you can read your data. Example:
$("#hidden_div").load("page2.php", function() {
var html = $(this);
var my_content = html.find("#div1").text();
$("#div2").html(my_content);
})