为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取随时间动态变化的 HTML span 值

如何获取随时间动态变化的 HTML span 值

慕标5832272 2023-07-14 14:47:50
我有一个 DHT 传感器,我使用 mqtt 将数据发送到服务器。从那里我将数据显示到 a span,因此跨度值正在变化。我想做的是:当传感器停止工作时,它会显示故障span,我只想在故障时显示图像。<span id="fault"></span>我尝试使用 JS 来获取span然后显示的图像,但它不起作用<img src="yellowled.png" alt="Girl in a jacket" width="60" height="60" id="my_image">    <script>    document.getElementById('my_image').style.display = 'none';    var span_Text = document.getElementById("fault").innerText;    if (span_Text  === "fault"){       document.getElementById('my_image').style.display = 'inline';    }</script>
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

如果您的跨度值在不刷新页面的情况下发生变化,则需要在跨度值发生变化时触发函数。


为此你需要创建函数:


function functionName(){

var span_Text = document.getElementById("fault").innerText;

    if (span_Text  === "fault"){

       document.getElementById('my_image').style.display = 'inline';

    }

}

然后你需要在你的span id上设置Javascript MutationObserveronchange ,因为它不适用于span。


然后你需要在 DOM 改变时调用你的函数。


var yourSpan = document.getElementById("fault");

var observer = new MutationObserver(function(mutations) {

  mutations.forEach(function(mutation) {

    console.info('changed');

    functionName();

  });    

});

 

var setting = { attributes: true, childList: true, characterData: true };

 

observer.observe(yourSpan, setting);


查看完整回答
反对 回复 2023-07-14
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

使用MutationObserver

function callback (event) {

    // inspect event or event.target.textContent and react

}

observer = new MutationObserver((events) => events.forEach(callback));

observer.observe(document.getElementById("fault"), {childList: true, subtree: true, characterData: true});



查看完整回答
反对 回复 2023-07-14
  • 2 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信