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

时间:2012-07-21 04:13:43

标签: php jquery html

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

的index.php

<body>
<div class="container_12">

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

</body> 

的login.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;

    });
});

Suitable.php

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

3 个答案:

答案 0 :(得分:2)

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

$('#content').on('click', 'a', function(e) {
    e.preventDefault()
    var page = $(this).attr('href');
    $('#content').load('pages/' + page +'.php');
});

答案 1 :(得分:0)

$(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绑定执行时,a中没有div#content,因此选择器返回一个空数组,并且不会发生绑定。

答案 2 :(得分:-1)

尝试使用Live代替click

//处理小部件点击

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

});