html homepage
<body> <a href="#" class="link">i load your page</a> <div id="container-page1"> </div> </body>
your page1 html
<div> <p>i'm important text</p> <div id="container-page2"></div> </div>
jquery> version 1.7
I used the event because it keeps your javascript flat. Otherwise, you can get some deeply embedded code if you need 3 or 4 ajax calls deeper later!
if your jQuery is <1.7 then let me know and I can put together .delegate /. liquid equivalents.
$(document).ready(function() { $('body').on({'click': function(evt) { $(evt.data.containerSelector).load(evt.data.page1Url, function(data, status, jqxhr){ $(this).trigger(evt.data.loadPage2Event); }); },'a.link',{page1Url:'page1.html', loadPage2Event:'loadPage2', containerSelector:'#container-page1'}); $("#container-page1",'body').on({'loadPage2':function(evt){ $(this).load(evt.data.page2Url); }},'#container-page2',{page2Url:'page2.html'}); });
source share