1

以下のクライアント側のコードは、サーバーからデータを取得し、そのデータを画面にレンダリングします。

追加」が行うことは、リストの最後に最新のデータを配置することですが、最新のデータをリストの一番上に表示したいのです。append before または append at the start のようなものを探しています。

どんな助けでも大歓迎です。

<script>
    for(var i = 0 ; i < data.length; i++){
        $('#uls').append('<li><p>' + data[i].summary + '</p></li>');
    }
</script>

<body>
    <div id="main">
        <ul id="uls"></ul>
    </div>
</body>
4

6 に答える 6

2

prependを探していると思います!

コードは次のようになります。

<script>
    for(var i = 0 ; i < data.length; i++){
        $('#uls').prepend('<li><p>' + data[i].summary + '</p></li>');
    }
</script>

<body>
    <div id="main">
        <ul id="uls"></ul>
    </div>
</body>
于 2012-12-27T08:01:08.763 に答える
0

本当にjQueryを使用する必要がある場合は、次のようにすることをお勧めします。

<script>
var i,
    dataMaxIndex,
    ulsContent = "";
dataMaxIndex = data.length - 1;
if (dataMaxIndex >= 0) {
    for (i = dataMaxIndex; i >= 0; i = i - 1) {
        ulsContent = ulsContent + '<li><p>' + data[i].summary + '</p></li>';
    }
    $(document.getElementById('uls')).prepend(ulsContent);
}
</script>

いくつかのコードの改善:-document.getELementByIdセレクターを使用してjQueryとしてラップする方が良い-すべてのHTMLコンテンツを一度に挿入する(すべての反復ではない)。

例: http: //jsfiddle.net/8RLcx/

于 2012-12-27T08:47:38.193 に答える
0

.prepend()これは、次の 2つの方法で行うことができます.prependTo()

  1. http://api.jquery.com/prepend/
  2. http://api.jquery.com/prependTo/

これらを取る

$('#uls').prepend('<li><p>' + data[i].summary + '</p></li>');
$('<li><p>' + data[i].summary + '</p></li>').prependTo('#uls');
于 2012-12-27T08:17:01.137 に答える
0

次のように、指定されたコンテンツを最初の子として挿入する「prepend」メソッドを使用できます。

<script>
    for(var i = 0 ; i < data.length; i++){
        $('#uls').prepend('<li><p>' + data[i].summary + '</p></li>');
    }
</script>

<body>
    <div id="main">
        <ul id="uls"></ul>
    </div>
</body>
于 2012-12-27T08:01:26.890 に答える
0

これには innerHTML を使用します

document.getElementById('uls').innerHTML="<li><p>"+data[i].summary+"</p></li>"+document.getElementById('uls').innerHTML
于 2012-12-27T08:02:22.313 に答える