gpt4 book ai didi

javascript - 访问 DOM 元素并不总是有效 - jQuery

转载 作者:太空宇宙 更新时间:2023-11-04 16:17:42 25 4
gpt4 key购买 nike

我正在尝试执行访问页面中元素的代码。

我的 HTML 代码如下所示:

<!DOCTYPE html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.6/handlebars.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body>
<div id="container">
<input type="text" id="user" />
<input type="button" id="add" value="add"/>
<ul id="peopleList">
</ul>
<script type="text/x-handlebars-template" id="template">
{{#each people}}
<li>{{.}}</li>
{{/each}}
</script>
</div>
</body>

我的 JavaScript 代码如下所示:

    (function(){
var people = {
people: ["first", "second"],
init: function(){
this.cacheDOM();
this.render();
},
cacheDOM: function(){
this.$dm = $("#container");
this.$userField = this.$dm.find('#user');
this.$submitButton = this.$dm.find('#add');
this.template = this.$dm.find("#template").html();
this.$peopleList = this.$dm.find("#peopleList");
},
render: function(){
var compiled = Handlebars.compile(this.template);
this.$peopleList.html(compiled(this.people));
},
};

people.init();
})();

在执行过程中,我似乎无法访问 DOM 元素,因为它们是未定义的,尽管我从本教程中获取了以下代码:https://www.youtube.com/watch?v=m-NYyst_tiY&list=PLoYCgNOIyGABs-wDaaxChu82q_xQgUb4f&index=2

在视频中,他没有使用 $(document).ready,但他仍然能够立即访问 DOM 元素,为什么我有不同的行为?

最佳答案

因为视频中的人将他的 javascript 文件放置在 DOM 的更下方,即 html 元素之后。这样,当 javascript 执行时,DOM 就已经加载了。

关于javascript - 访问 DOM 元素并不总是有效 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com