javascript - 试图将 jquery 转换为 vanilla js
问题描述
随着在线课程学习 Javascript 和课程本身使用 jQuery 作为待办事项列表,但是知道 ES6 支持 jQuery 在脚本本身中所做的一切,我正在尝试将 jQuery 转换为 vanilla JS,但是task.append(elem);
不起作用。
在 jQuery 中,讲师使用:
let addButton = $(".add-button");
let field = $(".add-field");
let task = $(".tasks");
addButton.on("click", function(){
let elem = `<li class="task">
<div class="task-checked col-1">
<input type="checkbox">
</div>
<div class="task-text col-2">${class.val()}</div>
<div class="task-remove col-3"></div>
</li>`;
$('.task').append(elem);
});
我对当前 ES 标准的理解已将 jQuery 替换为:
let addButton = document.querySelector(".add-button");
let field = document.querySelector(".add-field");
let task = document.querySelectorAll(".tasks");
addButton.addEventListener("click", function(){
let elem = `<li class="task">
<div class="task-checked col-1">
<input type="checkbox">
</div>
<div class="task-text col-2"></div>
<div class="task-remove col-3"></div>
</li>`;
task.append(elem);
});
我的理解是,通过调用task.append(elem);
它应该具有与讲师代码类似的功能,但是由于某种原因,当我单击添加按钮时,它并没有添加新任务,这与视频示例不同。这可能是我缺少的基本内容,但我想在分支到框架之前掌握 Vanilla JS。谢谢
解决方案
推荐阅读
- html2canvas - 无法使用 pdfmaker 向 pdf 添加多个页面
- windows - 用于获取已闲置 90 天或更长时间的用户帐户的 Windows 命令
- python-3.x - wait_for reaction_add 总是超时
- amazon-web-services - 如何描述 cloudformation 跨帐户堆栈信息/名称/详细信息
- laravel - 在没有 laravel 的情况下对录制的后备支持
- sql - 关于 group by 和 have 的优化 sql
- installation - ClickOnce 自定义安装程序 - GetManifestAsync 问题
- flutter - 视频播放器是全屏的,但视频比它小
- amazon-web-services - S3 存储桶:遇到不受支持的属性 AccessControl
- docker - 无法登录到项目的 GitLab Docker 注册表