计算类元素的未知/动态数组长度
Counting unknown/dynamic array length of class element
我写了一个简单的代码/用户脚本来通知我webiste上的更改:
function notifier(){
setTimeout(function () {
location.reload(true);
},60000)
}
function notiCounter() {
console.log("Counting notifications");
var noti = document.getElementsByClassName("notification");
for(var i = 0; i < 2; i++) {
if(noti[i].innerHTML != undefined) {
console.log(noti[i].innerHTML);
notifications++;
console.log("Notifications: " + notifications);
}
}
}
function notification(){
setTimeout(function () {
notiCounter();
if(notifications > 0){
document.title = "(" + notifications + ") new notifcations";
sound.play();
}
notifier();
},50)
}
notification();
问题是,noti[i]
的实际最终数是未知/动态的,并且一直在变化,所以如果i < 2
被一个更高的数取代,for循环最终会变成一个无限循环——如果我把它选得太低(例如2),如果实际数超过2,数据就会丢失。
你知道那个问题吗?也许这真的很明显,我看不见,因为已经很晚了哈哈。
与其检查i < 2
,不如检查i < noti.length
。或者,您可以使用for(var i in noti)
类型的循环进行迭代。或者更好的是,如果您只想直接获得通知的数量,只需使用noti.length
中的值
相关文章:
- 带有多个答案选项的Javascript动态数组窗口
- 在jquery中声明基于动态变量的动态数组
- 给出动态数组时出现 jsTree 错误
- 如何将元素添加到动态数组并排除现有元素
- Javascript关联动态数组
- 计算类元素的未知/动态数组长度
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 如何在Javascript中创建动态数组
- JavaScript 动态数组与对象和数组
- jQuery中的动态数组名称
- 如何映射输入字段的动态数组
- 在动态 JavaScript 对象(键/值对)中创建动态数组
- 如何将一个数组数据添加到多个动态数组中
- 构建菜单或组合框,数据存储在“动态”数组中
- 创建简单的动态数组
- AngularJS重复动态数组值
- 引导预类型不适用于从 php 页面检索的动态数组
- 基于用户在UI中输入的数字创建动态数组(绑定到网格)
- JavaScript-动态数组和循环
- 将ng单击绑定到动态数组上的ng重复