繁体   English   中英

Websocket 数据出现在 h1 元素中,但不在输入中

[英]Websocket data is appearing in an h1 element, but not in an input

我正在研究 Binance API 项目,以获取比特币的实时价格。 我写了一些 Javascript 代码来做到这一点。

问题是它不在input中工作,但在h1中工作。 我需要它在input中工作。 我怎样才能做到这一点?

<h1 id="btc-price"></h1>
<input type="text" id="btc-price" value="" />
let weburl = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade');
let stockPriceElement = document.getElementById('btc-price');
let lastPrice = null;

weburl.onmessage = (event) => {
  let stockObject = JSON.parse(event.data);
  let price = parseFloat(stockObject.p).toFixed(2);
  stockPriceElement.style.color = !lastPrice || lastPrice === price ? 'black' : price > lastPrice ? 'green' : 'red';
  stockPriceElement.innerText = price;
  lastPrice = price;
};

问题是因为您创建了两个具有相同id的 HTML 元素,这是无效的。 id必须是唯一的。 另外, h1input的内容更新方法不同。

要设置input的值,select 从 DOM 中设置它的value属性,如下所示:

 let weburl = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade'); let stockPriceInput = document.querySelector('#btc-price'); let lastPrice = null; weburl.onmessage = (event) => { let stockObject = JSON.parse(event.data); let price = parseFloat(stockObject.p).toFixed(2); stockPriceInput.style.color =?lastPrice || lastPrice === price: 'black'? price > lastPrice: 'green'; 'red'. stockPriceInput;value = price; lastPrice = price; };
 <input type="text" id="btc-price" value="" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM