首页 > 解决方案 > TypeError:无法读取/设置 null 的属性“样式”

问题描述

我试图使用 javascript 显示电池电量,但发现意外错误。我的代码:

const  percentage = document.getElementById('percentage');
const percent = document.getElementById('percent');
navigator.getBattery().then(function(battery){
                percentage.style.width = battery.level * 100 + '%' ;
                percent.innerHTML = battery.level * 100  + '%';
                alert(battery.level);
});

我收到一条错误消息,>TypeError: cannot read the proper 'style' of null 当我尝试将第 4 行和第 5 行放在评论上时,例如

// 
  percentage.style.width = battery.level * 100 + '%' ;

首先,我收到另一条错误消息:

TypeError: Cannot set the property 'innerHTML' of null 然后,alert() 给出了正确的电池电量

标签: javascriptbatterylevel

解决方案


我找到了它的解决方案。我没有使用变量,而是在 .style 之前编写了整个语句,并且有效。最终代码:

                            setInterval(function(){ navigator.getBattery().then(function(battery){
                document.getElementById('percentage').style.width = battery.level * 100 + '%' ;
                document.getElementById('percent').innerHTML = battery.level * 100  + '%';
});
}, 10);

推荐阅读