JQuery多个功能无法正常工作

时间:2016-09-14 04:03:59

标签: javascript jquery html

我正在使用JQuery的网站上显示从AJAX调用返回的HTML。 单击按钮后,将调用以下JS函数:

function example(...) {
    get_ajax_and_display(...);
    show_hidden_div(...);
}

第一个函数get_ajax_and_display()进行ajax调用,并且成功时,调用$("#ex_div").html(ajax_response)innerHTML ex_div设置为从ajax调用返回的任何内容。特别是,返回的html包含<span id='ex_span' style="display: none">

第二个函数show_hidden_div()调用$("#ex_span").show()以显示该范围。

但是,第二个函数调用失败,因为$("#ex_span")似乎未定义,即使第一个函数已经创建它。

.html(ajax_response)函数返回之前,example(...)是否实际上没有设置?

我在代码的其他部分分别调用了2个内部函数,它们可以自行运行。

为什么我不能这样称呼他们?

2 个答案:

答案 0 :(得分:2)

在ajax调用的show_hidden_div();函数中触发success,ajax是异步的,因此show_hidden_div()首先触发,然后当ajax完成时,div被附加到页面

答案 1 :(得分:1)

将async添加到您的ajax调用,如下所示

url: "url.php?" + params,
async: false,
dataType: "html",