从已加载的内容中加载内容

时间:2019-07-18 08:42:09

标签: jquery load innerhtml

我有一个菜单,可以将来自不同html页面的内容加载到div id =“ content”;我想从已加载的内容中加载内容;不起作用

我尝试了所有东西,然后完全迷路了,例如.live(click,..),empty(),remove()和东西。 我一次又一次得到的是相当的内容,但不在我的div中,即没有 css,再单击已加载内容中的链接,会将我带到另一页面,而不是将内容从该页面加载到当前页面。

$(document).ready(function() {


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

        var toLoad = $(this).attr('href')+' #content';

        $('#content').hide('fast',loadContent);

        function loadContent() {
            $('#content').load(toLoad,'',showNewContent())
        }

        function showNewContent() {
            $('#content').show('normal');
        }

        return false;    
    });
});

1 个答案:

答案 0 :(得分:0)

我现在明白了:问题是事件委托,意思是:加载的内容不是由dom结构注册的。因此,您必须将click事件委托给祖先, 最初已加载的:

点击

/ *-将事件委派给#staticAncestor / / $(staticAncestors).on(eventName,dynamicChild,function(){}); * /

这是一种本地解决方案;我找不到了,但也有全局答案 研究“事件委托”