0

いくつかの方法を試しましたが、チャンスはありませんでした: http://timeago.yarp.com/

$(function() {
$('abbr.timeago').timeago();
    $('.more').click(function() {
    $.getJSON('http://127.0.0.1:9987/test/c.php?callback=?', function(datas){
                $.each(datas, function(i, data) {       

                    $('.fdiv2 .fdtl').html('<abbr class="timeago"></abbr');             
            });         
        });
    $('.fdiv2 .fdtl').slideToggle(1000);
});

});
4

2 に答える 2

1

timeago最近挿入された要素を再初期化する必要があります。キャッシュ可能なものもキャッシュします ($('.fdiv2 .fdtl')複数回呼び出す必要はありません)。

$(function() {
    var el = $('.fdiv2 .fdtl'); // cache the element
    $('abbr.timeago').timeago();
    $('.more').click(function() {
        $.getJSON('http://127.0.0.1:9987/test/c.php?callback=?', function(datas){
            $.each(datas, function(i, data) {
                el.html('<abbr class="timeago"></abbr>');
                el.find('abbr.timeago').timeago();
            });
        });
        el.slideToggle(1000);
    });
});

また、実際に繰り返し処理する必要があることを確認してください。datas配列に常に 1 つの要素が含まれている場合は、$.each()call を に置き換えることができますvar data = datas[0];。より多くの要素があり、最後の要素のみを使用したい場合 (ここではそのように見えますが、コード全体を表示していません)、それをvar data = datas[datas.length-1];(最後の要素をdata変数に割り当てます)に置き換えることができます。 .

于 2012-01-06T02:54:41.223 に答える
0

次のコード行を挿入してみてください。

...
$('.fdiv2 .fdtl').html('<abbr class="timeago"></abbr');
$('abbr.timeago').timeago();
...
于 2012-01-06T02:50:21.043 に答える