Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

112
Visualizações
Elimine automáticamente las filas de la tabla después de alcanzar el límite de filas y agregue nuevos datos a la fila utilizando los datos de Websocket con javascript

Soy nuevo en JavaScript, no estoy seguro de si esta pregunta es muy básica. Creé un panel de actualización de precios de Bitcoin utilizando los datos obtenidos del WebSocket externo. Logré obtener los datos del WebSocket y mostrarlos en la tabla HTML. El precio se actualiza cada segundo, por lo que las filas de la tabla se están volviendo locas. Quiero limitar la fila de la tabla a 14 filas y después de que la tabla obtenga 14 filas, quiero eliminar esos datos e importar nuevos datos con Websocket sin aumentar las filas de la tabla HTML. Hice mi mejor esfuerzo para explicar.

He proporcionado los fragmentos de código a continuación, así como un Websocket externo desde donde extraigo los datos.

Avíseme cómo debo insertar la fila dinámicamente en una tabla HTML. Muchas gracias de antemano

 <script> window.onload = () => { function insertRow(price){ var tr = document.createElement("tr"), tdCoin = document.createElement("td"), tdPrice = document.createElement("td"), docFrag = new DocumentFragment(); tdCoin.textContent = "BTC"; tdPrice.textContent = `${Number(price.slice(0,-6)).toLocaleString("en-US")}`; tr.appendChild(tdCoin); tr.appendChild(tdPrice); docFrag.appendChild(tr); return docFrag; } var binanceSocket = new WebSocket("wss://stream.binance.com:9443/ws/btcusdt@trade"), table = document.getElementById("pricetable"); binanceSocket.onmessage = function(event) { var messageObject = JSON.parse(event.data); table.appendChild(insertRow(messageObject.p)); } } </script> <table class="table table-striped"> <thead> <tr> <th>Coin</th> <th scope="col">Price</th> </tr> </thead> <tbody id="pricetable" class="crypt-table-hover"> </tbody> </table>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede obtener todas las filas en su tabla usando querySelectorAll("tr") . Puede eliminar elementos de su tabla usando removeChild .

Entonces, para asegurarse de que su tabla nunca crezca más allá de x filas, haga lo siguiente:

 const rows = table.querySelectorAll("tr"); if (rows.length > 14) table.removeChild(rows[0]);

Aquí hay un ejemplo de trabajo:

 window.onload = () => { function insertRow(price) { var tr = document.createElement("tr"), tdCoin = document.createElement("td"), tdPrice = document.createElement("td"), docFrag = new DocumentFragment(); tdCoin.textContent = "BTC"; tdPrice.textContent = `${Number(price.slice(0,-6)).toLocaleString("en-US")}`; tr.appendChild(tdCoin); tr.appendChild(tdPrice); docFrag.appendChild(tr); return docFrag; } var binanceSocket = new WebSocket("wss://stream.binance.com:9443/ws/btcusdt@trade"), table = document.getElementById("pricetable"); binanceSocket.onmessage = function(event) { var messageObject = JSON.parse(event.data); table.appendChild(insertRow(messageObject.p)); const MAX_ROWS = 5; const rows = table.querySelectorAll("tr"); if (rows.length > MAX_ROWS) table.removeChild(rows[0]); } }
 <table class="table table-striped"> <thead> <tr> <th>Coin</th> <th scope="col">Price</th> </tr> </thead> <tbody id="pricetable" class="crypt-table-hover"> </tbody> </table>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda