gpt4 book ai didi

javascript - 在nodejs require语句之后无法操作dom对象

转载 作者:行者123 更新时间:2023-12-03 04:15:46 26 4
gpt4 key购买 nike

我正在尝试学习nodejs,但在 server.js 文件中使用 require 语句后无法操作 DOM 对象。然而,没有它它也能正常工作。当我在浏览器中单击该段落时,它不会改变。有谁知道为什么吗?

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
</head>
<body>
<p id="demo">Click me to change my HTML content (innerHTML)</p>

<script src="server.js"></script>
</body>
</html>

server.js

var config = require('./config');

document.addEventListener('DOMContentLoaded', function() {
$("#demo").click(function () {
document.getElementById("demo").innerHTML = "Paragraph changed!";
})
});

最佳答案

如果您使用 Node 运行服务器文件,document 将不会引用您的浏览器。 Node.js 无法使用您的浏览器。只有前端 javascript 才能引用 DOM。此外,如果您没有使用某些 bundler (例如 browserify),则在前端 javascript 中使用 require 应该会引发错误。因此下面的 jQuery 代码将不会运行。打开浏览器的开发人员工具,您应该在控制台中看到错误。

Node 不适合与 DOM 一起使用,并且服务器文件不应插入到 HTML 中。将服务器代码与前端代码分开。 Node 的目的是设置服务器并提供文件,而不是使用 DOM。尝试阅读有关 Node 及其用途的更多信息,也许还可以阅读一些教程来熟悉它。

关于javascript - 在nodejs require语句之后无法操作dom对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44147395/

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