扫码关注官方订阅号
把这端放到js里面就不起作用了怎么办,难道必须用jq写吗
认证高级PHP讲师
有什么问题?我直接把你的代码分开在单独的js中也是没问题的。
test.html
<!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <strong id="syhw"></strong> <script src='test.js'></script> </body> </html>
test.js
var hours = (new Date()).getHours(); var syhw1 = document.getElementById("syhw"); if(hours<10&&hours>=8) { syhw1.innerHTML="13"; } else if(hours<12&&hours>=10) {//预约剩余10 syhw1.innerHTML="10"; } else if(hours<16&&hours>=12) {//预约剩余7 syhw1.innerHTML="7"; } else { syhw1.innerHTML="5"; }
你把js分离出去了,然后没有在当前页面中调用,所以就不好用喽
这里应该保证 javascript 代码是在DOM加载完后再执行
要看你把引用外部脚本的代码放在head里面的还是在获取的DOM元素之后。
放在head元素里面使用,请使用defer属性。例如:
<script src="test.js" defer="defer"></script>
注意:这个只有在IE10以下版本才有效
放在DOM元素之后。例如:
<strong id="syhw"></strong> <script src='test.js'></script>
或者放body元素的最后面
这里最关键的一点就是外部脚本要获取DOM对象应该在DOM加载完成之后才能获取到
你可以把 script 标签放到页面的最底部。
这样可以保证加载完DOM后才开始执行JS
首先,代码是没有问题的,放入单独文件里不管用可能是如下原因:、
你没有在html内引用js文件,或者文件名写错。
要再DOM就绪后才能获取DOM元素。
<strong id="syhw"></strong> <script src="js.js"></script>
与
<script src="js.js"></script> <strong id="syhw"></strong>
是不同的,第二种情况会报错。有以下解决方法
window.onload = function(){// 文档就绪 //你的js代码 }
或者
document.addEventListener("DOMContentLoaded", function(event) {// DOM就绪 //你的js代码 });
还有就是daves2009答主说的,为script加defer属性
defer
<strong id="syhw"></strong> <script src="js.js" defer="defer"></script><!-- 文档下载但异步执行 -->
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
有什么问题?我直接把你的代码分开在单独的js中也是没问题的。
test.html
test.js
你把js分离出去了,然后没有在当前页面中调用,所以就不好用喽
这里应该保证 javascript 代码是在DOM加载完后再执行
要看你把引用外部脚本的代码放在head里面的还是在获取的DOM元素之后。
放在head元素里面使用,请使用defer属性。例如:
注意:这个只有在IE10以下版本才有效
放在DOM元素之后。例如:
或者放body元素的最后面
这里最关键的一点就是外部脚本要获取DOM对象应该在DOM加载完成之后才能获取到
你可以把 script 标签放到页面的最底部。
这样可以保证加载完DOM后才开始执行JS
首先,代码是没有问题的,放入单独文件里不管用可能是如下原因:、
你没有在html内引用js文件,或者文件名写错。
要再DOM就绪后才能获取DOM元素。
与
是不同的,第二种情况会报错。
有以下解决方法
或者
还有就是daves2009答主说的,为script加
defer属性