【问题标题】:push new list item not to the bottom instead to the top.将新列表项推送到底部而不是顶部。
【发布时间】:2016-01-30 23:01:13
【问题描述】:

我想将列表中的新元素始终推送到顶部而不是底部。我怎样才能做到这一点?

这是我的代码:

function saveToList(event) {
    if (event.which == 13 || event.keyCode == 13) {
        var movieName = document.getElementById('movieName').value.trim();
        if (movieName.length > 0) {
            var li = '<div>' + movieName + '</div>';
            document.getElementById('favMovies').innerHTML += li;
        }
        document.getElementById('movieName').value = '';
        return false;
    }
}

[...]

function refreshUI(list) {
    var lis = '';
    for (var i = 0; i < list.length; i++) {
        lis += '<div data-key="' + list[i].key + '">' + list[i].name + '<div>';
    };
    document.getElementById('favMovies').innerHTML = lis;
};

【问题讨论】:

  • 阅读 unshift(); javascript中的函数......这将解决你的问题

标签: javascript


【解决方案1】:

使用可以这样做。

function refreshUI(list) {
    var lis = [];
    for (var i = 0; i < list.length; i++) {
        lis.push('<div data-key="' + list[i].key + '">' + list[i].name + '<div>');
    };
    document.getElementById('favMovies').innerHTML = lis.reverse().join('');
}

【讨论】:

  • 是的!这与firebase结合使用。非常感谢!
【解决方案2】:

所以对于第一个,你在 innerHTML 之前添加 li。

document.getElementById('favMovies').innerHTML = li + document.getElementById('favMovies').innerHTML;

第二个循环遍历数组。

for (var i = list.length-1; i >=0 ; i--) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2013-10-17
    • 2018-05-07
    • 1970-01-01
    相关资源
    最近更新 更多