[英]How to have default and remove class on Ul li using vanilla JavaScript?
[英]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.