我试图让jquery将文本附加到div元素。我试图按照这个链接http://api.jquery.com/append/但它不适合我,我只看到你好,但测试的单词不会被附加。
这是html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="test.js"></script>
<div class="container">
<div class="inner">Hello</div>
</div>
</body>
</html>
这是test.js,它与test.html位于同一目录中。
$(document).ready(function() {
$('.inner').append("<p> Test </p>");
});
这是为html页面提供服务的节点服务器。
const fs = require("fs");
const http = require('http');
var page = fs.readFileSync('test.html');
http.createServer(function(req, res) {
if(req.method == 'GET' || req.url == '/') {
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write(page);
res.end();
}
}).listen(80);
答案 0 :(得分:1)
您的代码很好,但您的node.js服务器仅在路径test.html
上提供/
。只有您明确发送的文件才可供浏览器使用,因此HTML页面将无法加载test.js
。为此文件添加else if
(并更改内容类型):
const fs = require("fs");
const http = require('http');
var page = fs.readFileSync('test.html');
var testjs = fs.readFileSync('test.js');
http.createServer(function(req, res) {
if(req.method === 'GET' && req.url === '/') {
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write(page);
res.end();
} else if(req.method === 'GET' && req.url === '/test.js') {
res.writeHead(200, "OK", {'Content-Type': 'application/javascript'});
res.write(testjs);
res.end();
}
}).listen(80);
另请注意:
||
现在是&&
,因为以前任何 GET请求都会有
满足第一个条件。
==
现在是===
- 在大多数情况下(包括此情况),最好使用===
或严格相等。如果您有兴趣,请更多here。