簡體   English   中英

Node.js mysql循環僅顯示最后一個條目

[英]Node.js mysql loop only showing the last entry

我已經看過這個問題並在這里回答了,但我似乎無法自己解決這個問題:我的javascript mysql循環僅顯示數據庫中的最后一個條目。 我正在用電子建立一個簡單的內部Wiki,並試圖列出存儲在mysql數據庫中的某些類別。

 <script> const mysql = require('mysql'); const marked = require('marked'); var db = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'database' }); db.connect(); $sqlnav = 'SELECT * FROM categories;' db.query($sqlnav, function(error, rows, fields){ if (error) throw error; for (var i = 0; i < rows.length; i++) { console.log(rows[i]); $('nav > ul').html('<li>' + rows[i].category + '</li>'); } }); </script> <nav> <ul> </ul> </nav> 
console.log正確顯示了每一行,但是html中僅顯示一個列表項。

其他一些答案表明,我只是在循環的每次迭代中都覆蓋了相同的實例,只是在理解如何擺脫困境方面遇到了麻煩。 感謝您的幫助。

在for循環中生成並附加一個html字符串,然后在循環外調用$()。html。

使用.append()而不是.html()以便添加項目而不是每次都覆蓋它。

從JQuery文檔中:

When .html() is used to set an element's content, any content that was in that element is completely replaced by the new content. Additionally, jQuery removes other constructs such as data and event handlers from child elements before replacing those elements with the new content.

暫無
暫無

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

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