javascript - Ajax 调用后设置元素格式

标签 javascript jquery ajax

我试图让 ajax 调用将格式应用于完成之前不存在的元素。在实际调用中使用成功函数不起作用。该函数被正确调用,但未找到元素('.content-cell'),可能是因为它尚不存在。大多数类似的答案都涉及事件委托(delegate),但没有应用样式。

我的做法正确吗?在 ajax 检索后应用样式和处理程序的最佳方法是什么?

$("#calendar-panel").load("url", setupCal());


function setupCal(){
    console.log("setupCal");
    var cell_width = $('.weekday-cell').width();
    if ($('.content-cell').length){
        console.log("Content cell exists");
    } else {
        console.log("Content cell does not exist");
    }
    $('.content-cell').css({height:cell_width});

此代码的控制台输出为:'setupCal'; “内容单元格不存在”。

最佳答案

我认为问题可能在于您实际上是在执行 load 函数的行中调用 setupCal 函数。这是因为您已经包含了实际执行该函数(并返回其结果)的括号,而不是将其作为回调参数传递。

您可以尝试仅引用该行中的函数名称,如下所示:

$("#calendar-panel").load("url", setupCal);

如果在“定义”load函数时调用setupCal函数,那么该元素肯定还不存在,因此会给出您所看到的输出: “内容单元格不存在”。

关于javascript - Ajax 调用后设置元素格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30829508/

相关文章:

javascript - 如何同时使用 ajax 和 php 进行重定向?

jquery - 选中时禁用动态创建的复选框

javascript - 从文本文件加载 json 数据时出现空白页

JavaScript 函数有效……但不在 for 循环中

jquery - 在表单元素外部使用表单选择器

javascript - 单个 JS 文件中的两个 AJAX 表单提交,只有一个有效

javascript - Bootstrap 视差工具提示和平滑滚动

javascript - jQuery合并函数中的if条件令人困惑

javascript - 为什么 promise 链可以扁平化?

javascript - Dropkick - 选择问题数组