Javascript 如何使用jQuery加载动态内容?

Javascript 如何使用jQuery加载动态内容?,javascript,jquery,html,dynamic,load,Javascript,Jquery,Html,Dynamic,Load,我正在跟踪,一切正常,但是如果我在加载的脚本中有其他链接,脚本就不起作用。有人能在下面的代码中发现错误吗 $(document).ready(function() { var hash = window.location.hash.substr(1); var href = $('.nav li a').each(function(){ var href = $(this).attr('href'); if(hash==href.substr(

我正在跟踪,一切正常,但是如果我在加载的脚本中有其他链接,脚本就不起作用。有人能在下面的代码中发现错误吗

 $(document).ready(function() {

    var hash = window.location.hash.substr(1);
    var href = $('.nav li a').each(function(){
        var href = $(this).attr('href');
        if(hash==href.substr(0,href.length-5)){
            var toLoad = hash+'.html #content';
            $('#content').load(toLoad)
        }                                           
    });

    $('.nav li a').click(function(){

        var toLoad = $(this).attr('href')+' #content';
        $('#content').hide('fast',loadContent);
        $('#load').remove();
        $('#wrapper').append('<span id="load">LOADING...</span>');
        $('#load').fadeIn('normal');
        window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
        function loadContent() {
            $('#content').load(toLoad,'',showNewContent())
        }
        function showNewContent() {
            $('#content').show('normal',hideLoader());
        }
        function hideLoader() {
            $('#load').fadeOut('normal');
        }
        return false;

    });

});
我的情景

从站点索引开始 单击“联系人” 已加载联系人“内容分区” 在contact content div中,我有另一个链接“map.html”,我想在其他位置同样打开它,只有“content div”加载->它不工作-站点正常加载
如果您正在谈论的内容中的链接是.nav li a链接,那么这里的问题是.click事件仅在documentready上分配一次,不会影响documentready之后加载的内容

因此,最简单的方法是将$'.nav li a'.clickfunction{更改为

这样,事件处理程序也将附加到稍后加载的内容

注意:根据您的jQuery版本,您可能必须为这种行为使用不同的方法:

$(selector).live(events, data, handler);                // jQuery 1.3+
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
$(document).on(events, selector, data, handler);        // jQuery 1.7+ 

在ajax请求完成后,请尝试运行文档准备就绪后运行的操作。站点索引->我单击“联系人”-->联系人“内容分区”加载->在联系人内容分区中我有其他链接,例如“map.html”我想在其他位置同样打开它,只有“内容分区”加载->不起作用-站点加载正常,是吗?!
$(selector).live(events, data, handler);                // jQuery 1.3+
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
$(document).on(events, selector, data, handler);        // jQuery 1.7+