0

トピックが特定されていないことを知っています。言っておくけど。

テキストボックスとボタンがあります。何かを入力してボタンをクリックすると、divが作成され、別のdivに追加されます。しかし問題は、ページの先頭に追加する必要があることです。2番目の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 の後に表示されます。それを最初にしたいのです。これは最新のコメントであり、ページの一番上にある必要があるためです。

下手な英語でごめんなさい。

4

5 に答える 5

3

.prepend()http://api.jquery.com/prepend/を試してください

于 2012-08-27T14:19:39.160 に答える
1

追加の代わりにhttp://api.jquery.com/prepend/ を使用しますperpend

于 2012-08-27T14:19:45.150 に答える
1

.append()使用する代わりに.prepend()

于 2012-08-27T14:19:57.983 に答える
1

追加ではなく「前」を使用します。

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

*トルコ語キーボードのIが大好き

于 2012-08-27T14:20:21.157 に答える
1

多かれ少なかれ同じことをお勧めしますが、最初に投稿したコードに少しひねりを加えています。

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

element-creation は、作成する要素を指定し、2 番目のパラメーターとして、その要素を作成する属性/プロパティを定義するオブジェクトを受け取ります。

これにより、(大規模なプロジェクトで) 長期的にコードを維持するのが少し簡単になりますが、これは多かれ少なかれ純粋に個人的な意見であり、このアプローチをサポートできる指標はありません。

OPからの質問に応じて編集:

テキストはどこに挿入すればよいですか? divにデータを追加したい。

要素にテキストを追加するには、次の 2 つの方法があります。

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

JS Fiddle の概念実証

または:

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

JS Fiddle の概念実証

OPからの質問に応じて編集:

最後に 1 つ質問をお願いできますか。後に追加したいのですnotが、うまくいきません

このためには、挿入した への参照を取得し、その後に要素をdiv挿入する必要があります。brdiv

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');

または:

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

参考文献:

于 2012-08-27T14:24:50.310 に答える