jquery .append函数顺序问题

时间:2012-08-27 14:17:11

标签: jquery append

ı知道这个话题并不具体。让我告诉你。

ı有一个文本框和按钮。当你输入内容并单击按钮时,它会创建div并将其附加到另一个div。但问题是它必须将它附加到页面顶部。它将成为第二个div。

jquery代码:

$('#send').click(function() {
   var not=$('#not').val();

   $.ajax({
    type:"POST",            
    url: "some.php?islem=not",
    data:{not:not},
    success: function(result){
        $('#comment_box').append('<div class="comment">'+not+'</div>'); 
    }   
   });
});

html代码:

<textarea style="width: 794px; height: 48px;" id="not"></textarea>
<input type="button" value="Yolla" style="margin-top:35px;" id="send"/>

<div id="comment_box">
    <div class="comment">comment-1</div>
    <div class="comment">there is comment in here-2</div>
    <div class="comment">there is comment in here-3</div>
    <div class="comment">there is comment in here-4</div>
    <div class="comment">there is comment in here-5</div>
</div>

当ı添加一些东西时,新的div显示在评论-1之后,ı希望它是第一个。因为它是最新的评论,必须首先在页面的顶部。

英语不好的故事。

5 个答案:

答案 0 :(得分:3)

尝试.prepend()http://api.jquery.com/prepend/

答案 1 :(得分:1)

使用http://api.jquery.com/prepend/ perpend代替附加

答案 2 :(得分:1)

而不是.append()使用.prepend()

答案 3 :(得分:1)

使用'before'而不是追加:

$('#comment_box').before('<div class="comment">'+not+'</div>');

*爱土耳其键盘里的我嘿嘿

答案 4 :(得分:1)

我建议或多或少地使用相同的东西,但稍微扭曲了您最初发布的代码:

$('<div />', {'class' : 'comment'}).prependTo('#comment_box');

元素创建指定要创建的元素,并且第二个参数采用定义应该用于创建该元素的属性/属性的对象。

这使得从长远来看(在大型项目中)维护代码变得容易一些,但不可否认,这或多或少是一种纯粹的个人观点,没有任何指标我可以为这种方法提供支持。

已编辑以回应OP提出的问题:

  

应该在哪里插入文字?我希望用数据添加div。

要向元素添加文本,有两种方法:

$('<div />', {'class' : 'comment', 'text' : not}).prependTo('#comment_box');

JS Fiddle proof-of-concept

或者:

$('<div />', {'class' : 'comment'}).text(not).prependTo('#comment_box');

JS Fiddle proof-of-concept

已编辑以回应OP提出的问题:

  

可以问最后一个问题。我希望在not之后添加,但它不起作用

为此,您需要获得对您插入的div的引用,然后只需在br之后插入div元素:

var newDiv = $('<div />', {'class' : 'comment'}).text(not).prependTo('#comment_box');
$('<br />').insertAfter(newDiv);

如果您想要}中的br ,那么只需使用div

append()

或者:

$('<div />', {'class' : 'comment', 'text' : not}).append('<br />').prependTo('#comment_box');

参考文献: