扫码关注官方订阅号
HTML代码: Blog id
id
JS代码:alert(document.getElementById("box").innerHTML);
为什么以上代码执行不了,用火狐浏览器运行时候没有弹出窗口,求解?
人生最曼妙的风景,竟是内心的淡定与从容!
亲,你的js文件应该放到下面去,加载顺序不对
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog</title> </head> <body> <p id="box">id</p> <script type="text/javascript" src="scripts/abc.js"></script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog</title> <script type="text/javascript" src="scripts/abc.js"></script> </head> <body> <p id="box">id</p> </body> <script> alert(document.getElementById("box").innerHTML); </script> </html>
因为你的代码没有写全, 我猜你是把加载顺序写反了
执行时机 window.load 看看这个
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog</title> <script type="text/javascript" src="scripts/abc.js"></script> </head> <body> <p id="box">id</p> <script> alert(document.getElementById("box").innerHTML); </script> </body> </html>
亲测这样的代码在firefox能够弹出窗口。有可能是你firefox禁止弹出alert框。转用console.log(document.getElementById("box").innerHTML) f12查看控制台输出。
console.log(document.getElementById("box").innerHTML)
是的,如上一位兄台所说你的js是在body代码之前src进来的,那时候还没有dom,所以获取不到id=box这个节点。这样就会报错,学js的一定要会的一件事就是打开浏览器控制台查看有没有报错。
难道是你把alert写在abc.js里了?如果这样的话,alert执行的时候是获取不到id="box"的元素的
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog</title> <script type="text/javascript"> function test(){ alert(document.getElementById("box").innerHTML); }; window.onload=test; </script> </head> <body> <p id="box">id</p> </body> </html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
亲,你的js文件应该放到下面去,加载顺序不对
因为你的代码没有写全, 我猜你是把加载顺序写反了
执行时机
window.load 看看这个
亲测这样的代码在firefox能够弹出窗口。有可能是你firefox禁止弹出alert框。
转用
console.log(document.getElementById("box").innerHTML)f12查看控制台输出。是的,如上一位兄台所说你的js是在body代码之前src进来的,那时候还没有dom,所以获取不到id=box这个节点。这样就会报错,学js的一定要会的一件事就是打开浏览器控制台查看有没有报错。
难道是你把alert写在abc.js里了?如果这样的话,alert执行的时候是获取不到id="box"的元素的