jquery after()函数没有在正确的位置添加HTML

时间:2012-12-20 10:42:03

标签: jquery ajax

给大家.. 我有一个网页,我有一个从mysql-DB渲染的墙贴的列表 还有一个textarea字段发布新帖子.. 按下提交按钮后,调用ajax函数,新帖子必须出现在旧的上面一次.. 在jquery函数中,我正在使用after()内置函数..

function wallPostSend(a, b) {
    var url = "scripts/functions.php";
    var randomNum = "<?php echo $randomNum; ?>";
    var contentWall = $('#news_text').val();
    $(".small_loader").show();
    $.post(url, {
        request: "wallPostSend",
        mem1: a,
        mem2: b,
        content: contentWall,
        security: randomNum
    }, function(data) {
        $(".small_loader").hide();
        $(".after_this").after().html(data).slideDown();
        ---this part is the problem..
        $('#news_text').val("type here..........").fadeIn();
    });
}

$(".after_this") - 指的是一个看起来像这样的div:

    <div class="after_this"></div>

我需要在此处显示新帖子。例如

<table>post 11</table>
<table>post 10</table>post that is already from DATABASE
<table>post 9</table>post that is already from DATABASE
<table>post 8</table>post that is already from DATABASE
<table>post 7</table>post that is already from DATABASE
<table>post 6</table>post that is already from DATABASE
<table>post N</table>post that is already from DATABASE

AJAX回复是<?php echo '<table>post text..blah blah</table>' ?>一个新表格,其中包含我希望在发布10之前出现的新帖子,这是HTML代码中的第一篇帖子。

然后,如果发布了另一个帖子,它必须首先出现在列表中,而不会覆盖任何以前的帖子。

2 个答案:

答案 0 :(得分:0)

您错过了需要作为参数传递的content

.after(content)

 $(".after_this").after(data).slideDown();

答案 1 :(得分:0)

以这种方式使用它:

 $(".after_this").after(data).slideDown();