ı知道这个主题并不具体。那我告诉你。
ı有一个文本框和按钮。当你输入一些东西并点击按钮时,它会创建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之后,ı希望它是第一个。因为它是最新的评论,它必须是第一个,在页面的顶部。
糟糕的英语。
发布于 2012-08-27 22:24:50
我建议或多或少地做同样的事情,但是稍微改变一下你最初发布的代码:
$('<div />', {'class' : 'comment'}).prependTo('#comment_box');element - created指定要创建的元素,作为第二个参数,它接受一个对象,该对象定义了创建该元素时应该使用的属性。
这使得(在大型项目中)长期维护代码变得更容易,尽管无可否认,这或多或少是纯粹的个人意见,没有任何指标可以为这种方法提供支持。
编辑了,回答了来自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的引用,然后只需在该div之后插入br元素
var newDiv = $('<div />', {'class' : 'comment'}).text(not).prependTo('#comment_box');
$('<br />').insertAfter(newDiv);如果您希望在刚刚创建的div中包含br,那么只需使用append()
$('<div />', {'class' : 'comment', 'text' : not}).append('<br />').prependTo('#comment_box');或者:
$('<div />', {'class' : 'comment'}).text(not).append('<br />').prependTo('#comment_box');参考文献:
这是section.
prependTo().
text().的最后一部分
发布于 2012-08-27 22:19:39
尝试使用.prepend() http://api.jquery.com/prepend/
发布于 2012-08-27 22:19:45
使用http://api.jquery.com/prepend/ perpend而不是append
https://stackoverflow.com/questions/12143774
复制相似问题