Si estás cargando html en un div, porque no usar simplemente load()?
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <li><a href="#intro">intro
</a></li> <li><a href="#demo">demo
</a></li> <div id="contenedorprincipal"></div>
<script type="text/javascript"> //<![CDATA[
$(function(){
$("#submenu a").click(function(){
var page = this.hash.substr(1);
$("#contenedorprincipal").load(page+".html");
});
});
//]]>
Saludos