JQuery正在从动态内容加载动态内容


JQuery Loading Dynamic Content off Dynamic Content

我想知道是否有人能帮助我或为我指明方向。我想做一个像测验一样的网络应用程序。我需要的是能够从动态创建的按钮或href加载动态内容,在这种情况下,它将链接到其他内容。到目前为止,它似乎不起作用,因为我每次点击按钮都会得到一个找不到的页面。似乎没有通过名称传递.php。我已经在dynmaic内容div外部测试过了,它运行良好,但我真的需要它在内部运行。到目前为止我所拥有的:

index.php

<body>
<div class="container_12">
    <div id="content">
    <!--dynamic content loads here-->
    </div>
</div>  
</body> 

登录.php

<h1> Login Page </h1>
    <p> this is a test to c if works </p> 
        <a href='Suitable'>Hello</a> <!--button that doesnt work-->

general.js

$(document).ready(function() {
//initial
    $('#content').load('Login.php');
    //Handle widget Clicks 
    $('div#content a').click(function() {
        var page = $(this).attr('href');
        $('#content').load('pages/' + page +'.php');
        return false;
    });
});

合适的.php

<h1> Working </h1>
<!-- content thats not loading off button-->

您应该为动态加载的元素委派click事件,请尝试以下操作:

$('#content').on('click', 'a', function(e) {
    e.preventDefault()
    var page = $(this).attr('href');
    $('#content').load('pages/' + page +'.php');
});
$(document).ready(function() {
    //initial
    $('#content').load('Login.php', function(){
        //Handle widget Clicks 
        $('div#content a').click(function() {
            var page = $(this).attr('href');
            $('#content').load('pages/' + page +'.php');
            return false;
        });
    });
});

说明:

load是异步的。JS引擎不会等到它完成后才转到下一行。结果是,当执行click绑定时,div#content中没有a,因此选择器返回一个空数组,不会发生绑定。

尝试Live而不是click

//处理小部件点击

$('div#content a').live('click',function() {
    var page = $(this).attr('href');
    $('#content').load('pages/' + page +'.php');
    return false;
});