Javascript jquery在使用html()进行DOM修改时失败

Javascript jquery在使用html()进行DOM修改时失败,javascript,jquery,html,hashchange,Javascript,Jquery,Html,Hashchange,在我的网站中,我基于hashchange构建页面导航: var hashHome; $(window).bind( 'hashchange', function(e) { var homeClass = "home"; var url = $.param.fragment(); if($('#page-content').hasClass(homeClass)){ hashHome = $('#page-content').html(); }

在我的网站中,我基于
hashchange
构建页面导航:

var hashHome;
$(window).bind( 'hashchange', function(e) {
    var homeClass = "home";
    var url = $.param.fragment();
    if($('#page-content').hasClass(homeClass)){
        hashHome = $('#page-content').html();
    }

    if(url ==''){
        //homepage with nothing(no hash)
        if(!$('#page-content').hasClass(homeClass)){
            //alert("load frim cache ->#"+url);
            $('#page-content').addClass(homeClass);

            $('#page-content').html(hashHome);
        }
    }else{
        //go to some page 
        if($('#page-content').hasClass(homeClass))
            $('#page-content').removeClass(homeClass);
        initAction(url);
    }
})
$(window).trigger( 'hashchange' );
当站点加载其主页时,主页将存储在
hashHome
中。如果用户导航离开,则
initAction(id)
会将整个
$(“#页面内容”)
的内容替换为其他页面的内容。当用户导航回主页时,它会将存储的主页还原回
$(“#页面内容”)

我的问题是所有jQuery都停止在主页上工作


我已经读过关于
live()
的内容,但它似乎需要一个类似
click()
的事件才能工作。如何修复此问题?

我发现在更改周围div的内容之前,需要存储整个页面

var content$('#page-content').html();
那么内容会改变吗

这样,当我重新初始化所有jQuery插件时,它们将丢失所有旧的引用,并使用新的
content
变量,而不是双重初始化


最后,我发现原始问题的代码也不起作用,因为脚本标记如下:
,即由于某些原因无法识别,因此我必须将其更改为
,以使其跨浏览器兼容

您是否尝试使用Firebug之类的工具查看任何错误?您还可以将代码包装在try{}catch(e){alert(e);}中。没有发现错误,控制台没有打印任何内容。它是否需要在$(document.ready({})中;