首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中更新没有唯一id的html值?

如何在JavaScript中更新没有唯一id的html值?
EN

Stack Overflow用户
提问于 2022-07-28 16:46:33
回答 1查看 35关注 0票数 -1

目前,我正在开发一个引导硬币市场套利信息的网站。

我想知道在JavaScript中下面的方法是否可行。(没有反应)

后端- django

代码语言:javascript
复制
def index(request):
    data = [{"name": "BTC", "binance": "price1", "gecko": "price2", "ftx": "price3"}, 
            {"name": "ETH", "binance": "price1", "gecko": "price2", "ftx": "price3"}]
       
    return render(request, 'index.html', context={'data': data})

html -

代码语言:javascript
复制
<table class="table table-striped mb-0 fixed">
          <thead>
          <tr>
              <th>name</th>
              <th>binance</th>
              <th>gecko</th>
              <th>ftx</th>
          </tr>
          </thead>
          <tbody>
          {% for d in data %}
              <tr>
                  <td>{{ d.name }}</td>
                  <td>{{ d.binance }}</td>
                  <td>{{ d.ftx }}</td>
                  <td>{{ d.okx }}</td>
              </tr>
          {% endfor %}
          </tbody>
</table>

JS -

代码语言:javascript
复制
var socket = new WebSocket(
    'ws://' + window.location.host +
    '/ws?session_key=${sessionKey}')

socket.onmessage = function (e) {
    let positions_data = JSON.parse(e.data)
    
    //if positions_data {"site": "binance", "price": "27000", "name": "BTC"}
    //update data -> 
    data = [{"name": "BTC", "binance": "27000", "gecko": "price2", "ftx": "price3"}, 
            {"name": "ETH", "binance": "price1", "gecko": "price2", "ftx": "price3"}]

    //do something?
    //then change html value



    }

是否可以仅通过更改JS中的变量来更改html值?

或者是否有可能采取额外的代码?还是有别的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 16:57:24

更改HTML,使行具有基于硬币名称的唯一ID,并且列具有指示其角色的类。

代码语言:javascript
复制
<table class="table table-striped mb-0 fixed">
          <thead>
          <tr>
              <th>name</th>
              <th>binance</th>
              <th>gecko</th>
              <th>ftx</th>
          </tr>
          </thead>
          <tbody>
          {% for d in data %}
              <tr id="row-{{d.name}}">
                  <td class="name">{{ d.name }}</td>
                  <td class="binance">{{ d.binance }}</td>
                  <td class="ftx">{{ d.ftx }}</td>
                  <td class="okx">{{ d.okx }}</td>
              </tr>
          {% endfor %}
          </tbody>
</table>

然后您可以找到与positions_data相对应的行并更新它:

代码语言:javascript
复制
let row = document.querySelector(`#row-${positions_data.name}`);
let site = positions_data.site;
row.querySelector(`.${site}`).innerText = positions_data.price;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73156424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档