javascript - 在页面上找不到我的 jQuery?它是否在其他元素后面显示加载的数据?
问题描述
所以我的基本目标是简单地使用 jQuery 样式函数来显示单词 hello。我想要这个,以便将来我可以个性化 hello 。“你好” + $用户名。我附上了我的代码。
<h3 onLoad = "helloMessage();" id="id"> </h3>
我的 .js 文件看起来像这样,
function helloMessage()
{
document.getElementById("id").innerHTML = "Hello ";
}
我的页面没有给我任何错误,但是当我尝试查找元素h3
时,它只是在页面上给了我一个没有“Hello”消息的区域?这是因为我的“你好”在h3
场内返回吗?
<h3 "Hello "> </h3>
编辑:我很感激我之前不正确。
现在我目前有
$(document).ready(function(){
$.fn.helloMessage = function(){
alert ('Hello');
}
$(".hello").ready(function(){
$.fn.helloMessage();
});
});
我的 HTML 如下所示:
<h3 class="hello"> </h3>
这一切都很好并且有效。但是我希望“Hello”显示在网页上,而不是作为警报。如果我尝试使用:
$(document).ready(function(){
$.fn.helloMessage = function(){
return ('Hello');
}
$(".hello").ready(function(){
$.fn.helloMessage();
});
});
最终编辑:谢谢罗里,你的彻底回答帮助我弄清楚我哪里出错了。此外,YamneZ 感谢您提供有关显示问题的帮助。
解决方案
元素没有onload
属性。h3
如果要在页面加载时运行该函数,请直接调用它:
function helloMessage() {
document.getElementById("id").innerHTML = "Hello";
}
helloMessage();
<h3 id="id"></h3>
不过,您的 JS 需要放在前面</body>
才能正常工作。否则,您需要将DOMContentLoaded
事件处理程序附加到文档并将代码放在那里,如下所示:
function helloMessage() {
document.getElementById("id").innerHTML = "Hello";
}
document.addEventListener('DOMContentLoaded', function() {
helloMessage();
});
<h3 id="id"></h3>
最后请注意,尽管标题如此,但在这个问题中与 jQuery 无关。如果您想在 jQuery 中执行此操作,它将如下所示:
function helloMessage() {
$('#id').html('Hello');
}
jQuery(($) => {
helloMessage();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h3 id="id"></h3>
推荐阅读
- image - 脏图像质量评估措施
- regex - 在之间或之后/之前捕获最后一个元素?
- tensorflow - Tensorflow - HuggingFace - 无效参数:indices[0,624] = 624 不在 [0, 512)
- android - java.io.FileNotFoundException:/storage/3766-6230/MyData/smallv.mp4(权限被拒绝)
- android - Android (AOSP) 7:在其他模块之前构建模块/修补模块作为构建过程的一部分/修改系统源
- python - 如何让pygame播放下一个声音并启用停止?
- delphi - 主窗体最小化,而其他窗体最大化
- java - 使用spring和JPA将数据从一个表单添加到两个不同的表
- r - 您如何在 deSolve (R) 中实现系统动力学风格的流水线延迟?
- elasticsearch - Elasticsearch 动态模板映射