如何触发内联脚本的onLoad事件?为何p标签onLoad不生效?
问题解答
为什么你的<p>标签onload代码不生效?
<p>这类普通块级元素不支持onload事件。onload事件仅适用于少数特定元素,比如<body>、<img>、<script>、<iframe>等,用来监听元素自身资源加载完成的动作。普通文本元素没有加载外部资源的需求,也就没有onload事件触发的时机,所以绑定了也不会执行。
如何不用单独<script>标签实现页面加载时显示日期?
你可以把onload事件绑定到<body>元素上,直接在事件属性里写执行逻辑,不用单独定义函数,代码足够简洁:
方案1(通过ID定位元素)
<!DOCTYPE html> <html> <body onload="document.getElementById('date-el').innerHTML = Date();"> <p id="date-el">date here onload</p> </body> </html>
方案2(直接选择第一个<p>元素)
如果页面里只有这一个<p>标签,还可以更简化,不用加ID:
<!DOCTYPE html> <html> <body onload="document.querySelector('p').innerHTML = Date();"> <p>date here onload</p> </body> </html>
这两种方式都会在页面整体加载完成后,自动把当前日期替换到<p>标签的内容里,完全符合你的需求。
内容的提问来源于stack exchange,提问作者iorgu
相关产品推荐
相关产品推荐

