在jQuery加载后如何重新检查dom?

时间:2013-12-23 18:51:56

标签: jquery dom load

基本上,我点击链接 - >将其内容加载到新内容div中 - >移动和删除旧内容 - >使新内容成为当前内容。

我正在使用jquery加载函数。当然,考虑到它的加载方式,dom看不到新的内容。我曾希望使用#page a是最好的,因为#page是dom上的常量。

这很明显,第一次加载页面时却起作用,但从那以后就不行了。

我需要jquery来识别新加载内容的点击。我知道这是可能的,但我找不到方法。

$('#page').append('<div id="new-content"></div>');
    $('#page a').on('click', function(e){
        console.log('click');
        var topHeight = $('.site-header').height();
        var comp = new RegExp(location.host);
        if(comp.test($(this).attr('href'))){
               // a link that contains the current host           
              e.preventDefault();
              var contentURL = $(this).attr('href');
              $('#new-content').load(contentURL+" #content",function(){
                    var newContent = $(this);
                    $('#content').first().animate({'left':'-100%'},function(){
                        $(this).remove();
                        newContent.find('#content').unwrap();
                        $('#page').append('<div id="new-content"></div>');
                        pageHeight = $('#content').height();
                        $('#slide-out').css({'height':pageHeight});
                    });
              }).css({'top':topHeight});
        }
    });

1 个答案:

答案 0 :(得分:1)

您必须使用on()的委托版本,如下所示:

$('#page').on('click', 'a', function(e){ ...