簡體   English   中英

如何使用香草JavaScript和Firebase將li正確附加到ul?

[英]How to properly append li to ul using vanilla JavaScript and Firebase?

因此,我確實想在Firebase數據庫控制台中獲取所有消息。 我的代碼是純JavaScript。

的HTML

<ul class="collection" id="chatList"></ul>

JS

var databaseRef = firebase.database().ref('messages');
var chatList = document.getElementById('chatList');
databaseRef.on('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
      chatList.appendChild('<li class="collection-repeat">' + childSnapshot.val().message + '</li>');
  })
});

在此處輸入圖片說明

使用我的代碼,我只能得到數據庫中的最后一個值,因為我猜它還會附加在foreach內部生成的另一個<li>

什么是追加<li>的正確方法,以便它也不會追加其他<li>

我知道在jQuery中,可以這樣實現:

$('#chatList').append('<li class="collection-repeat">' + childSnapshot.val().message + '</li>')

任何幫助將非常感激。

appendChild()用於將node追加到元素。 但是您正在嘗試附加一個string

嘗試使用

var databaseRef = firebase.database().ref('messages');
var chatList = document.getElementById('chatList');
databaseRef.on('value', function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
        var node = document.createElement("li");
        node.className="collection-repeat";
        var textnode = document.createTextNode( childSnapshot.val().message );
        node.appendChild(textnode);
        chatList.appendChild(node);
    })
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM