一起使用load()和after()

时间:2014-08-16 22:18:15

标签: jquery load

我有一个列表(.menutabs),我想在列表后添加从.php加载的内容

我正在尝试使用

$(".menuTabs").after(function() {
  $this().load("/common/header_box.php");
});

但它不起作用

有什么想法吗?

提前致谢

2 个答案:

答案 0 :(得分:3)

虽然after确实接受函数作为参数,但load是异步的,因此无法使用此模式。您最好使用标准$.ajax方法的成功回调。试试这个:

$.ajax({
    url: '/common/header_box.php',
    success: function(html) {
        $('.menuTabs').after(html);
    }
});

答案 1 :(得分:0)

首先,$this()应该是$(this),是指您要在之后插入内容的元素。您可能希望返回一个新的jQuery对象来加载内容。

$(".menuTabs").after(function() {
  return $("<div></div>").load("/common/header_box.php");
});

然而,正如Rory的回答所暗示的那样,使用单$.ajax次呼叫会更有效率。