jQuery运行在前一个函数中通过ajax加载的元素

时间:2015-02-06 11:06:34

标签: jquery ajax

我知道使用.ajaxComplete但是我正在使用的代码独立于运行ajax的函数。

我也知道.live但是这已被弃用。

我有一个加载某些HTML的函数,包括一个名为main.home

的div

在其他功能中,我想制作main.home .slideDown

/* First function loads the HTML */
$(document).ready(function() {
    $("#quiz-section").load("home.php");
    $( document ).ajaxComplete(function() {
        $( ".inner-wrap" ).fadeIn(2000);
    });
});

/* Second function called on button click */
function nextQuestion(page){
    $("main.home").slideDown("fast");
}

.slideDown似乎不起作用,但控制台中没有出现错误。我相信它可能找不到元素main.home,因为它是通过ajax加载的?

任何建议表示赞赏。

编辑以根据要求添加nextQuestion的来电:

<div class="button pink" onclick="nextQuestion('q1');" >Take our 'Love Match' test</div>

HTML如此粗暴地要求的只是:

<main class="home">
<div class="button pink" onclick="nextQuestion('q1');" >Take our 'Love Match' test</div>
</main>

你去。

1 个答案:

答案 0 :(得分:2)

什么是slideDown?

使用幻灯片动作可见 隐藏元素

所以,你应该这样:

HTML:

<main class="home" style="display:none;">
    Some stuff here
</main>
<div id="clickme" class="button pink">Take our 'Love Match' test</div>

Javascript:

$("#clickme").click(function() {
    $("main.home").slideDown("fast");
});

&#34;这里的一些东西&#34;隐藏,当您单击链接时,它会使您的元素主要显示为幻灯片运动。