js取数组成员个数
有一个网页,我用var N = document.getElementsByClassName("bo").length;
console.log("N:"+N)
来获取某个网页中该数组成员个数。
发现的问题是,每次首次访问该网页的时候,数组成员获取失败,console.log输出N值为0.但是如果我手动刷新一次页面,上面的命令就能获取到数组成员数N值55. 当然上面的命令,我已经设置了3秒后执行取数组成员数。按理来说,不会发生这样的现象。请问和解? // (1)、页面所有内容加载完成执行
window.onload = function(){
}
// (2)、页面加载完毕
document.onreadystatechange = function(){
if(doucument.readyState == 'complete'){
// 页面加载完毕
}
} 坏人。丶 发表于 2022-9-21 21:45
// (1)、页面所有内容加载完成执行
window.onload = function(){
试了楼上的方法,结果是网页不动了,永远不执行放进去的代码,即使手动刷新也不执行 页面加载完才能获取到元素啊 最简单的就是设置一个延时,settimeout
复杂的你得看是用的什么框架,如果是vue的话,需要在正确的时间执行之后,再查看变量的值
还有一种方法就是你截获http的事件,在指定查询事件完成之后再去查询这个变量 坏人。丶 发表于 2022-9-21 21:45
// (1)、页面所有内容加载完成执行
window.onload = function(){
页面加载后才执行,试试看 evlon 发表于 2022-9-21 22:17
最简单的就是设置一个延时,settimeout
复杂的你得看是用的什么框架,如果是vue的话,需要在正确的时间 ...
我就是用settimeout 设置3秒的,三秒估摸应该足够 sololau00 发表于 2022-9-21 22:20
页面加载后才执行,试试看
试过这个,这个页面加载我以前用过,用到这里,就会永远没加载完,故永远不执行放进去的代码 用一个btn测试,点击 然后输出个数 ,觉得是你代码写法有问题,但是不贴出来 只能考猜测 最小可用代码发个出来