1) надо добавлять к main текст а не пытаться переместить dom элемент из текста в браузер.
function live(){
console.log($('#main').load('dinosaurs.html #main'));
}
function ajax(){
$.ajax({ url: "dinosaurs.html", success: function(data, d2, d3){
var text=$(data).find("#main").html();
//$('#main').append(text);
$('#main').html(text); // эта строка поудачнее так как заменит содержимое, а не добавит
}});
}
2) файл dinosavr.html нужно переделать. Помести в динозвре main внутрь другого дива тогда всё будет ок. а иначе он просто не найдёт main. и Body ты кстати забыл.
<div>
<div id="main">
<ul>
<li><a href="/">home</a></li>
<li>dinosaurs</li>
<li><a href="/aliens.html">aliens</a></li>
</ul>
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/GcjxwXCxBBU" frameborder="0" allowfullscreen></iframe>
</div>
</div>