Javascript Node.js中的jQuery方法
刚开始在node.js中编码。我做了几个页面(登录、注册、博客等) 如果我想要一种效果,其中: 1.我将鼠标悬停在“新闻”按钮上,一个滑块向下显示Javascript Node.js中的jQuery方法,javascript,jquery,html,css,node.js,Javascript,Jquery,Html,Css,Node.js,刚开始在node.js中编码。我做了几个页面(登录、注册、博客等) 如果我想要一种效果,其中: 1.我将鼠标悬停在“新闻”按钮上,一个滑块向下显示 修改ejs标签中的图像(例如)(我认为我不能在这里使用css) 如果用户单击按钮(或任何其他事件),则执行某些操作 现在在我的项目中,如果用户单击“登录”,它会将他带到“/登录”页面。 我在谷歌上搜索了“弹出式登录表单”,大多数教程都是针对jQuery的 在使用jQuery时,它给出了一个错误:“jQuery需要一个窗口”,所以我使用了jsdom,但
注意:我不要求为上述任务提供特定代码。我已经用jQuery在前端完成了这些工作。我只想知道如何开始使用node.js中的jQuery。这里您将node js用作Web服务器,它只负责为您提供所需的服务。从页面到静态资产包括图像、字体、css甚至js文件 例如,当您希望用户登录时,您已将您的索引页面配置为具有“登录”链接,该链接将用户带到/login路径:
app.get('/', function(req, res){
res.render('index', { title: 'home' });
});
index.ejs
<!DOCTYPE html>
<head>
<title><%= title %></title>
</head>
<html>
<body>
<a class="btn" href="/login">LOGIN</a>
</body>
</html>
<!DOCTYPE html>
<head>
<title><%= title %></title>
<link rel="stylesheet" href="/css/bootstap.css">
<link rel="stylesheet" href="/css/myStyles.css">
</head>
<html>
<body>
<div id="#modal" class="modal fade"></div>
<a class="btn" href="/login">LOGIN</a>
<!-- scripts -->
<script src="/js/jQuery.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/myScripts.js"></script>
<!-- client-side tempates -->
<script type="text/template" id="modalTemplate">
<div class="modal-dialog">
.
<!-- look into bootstrap documentation -->
.
</div>
<script>
</body>
</html>
并使用所需的样式和脚本将其设置为公用文件夹:
/public
/css
bootstrap.css
myStyles.css
/js
jQuery.js
bootstrap.js
myScripts.js
/images
/fonts
并在index.ejs中包含以下样式和脚本:
index.ejs
<!DOCTYPE html>
<head>
<title><%= title %></title>
</head>
<html>
<body>
<a class="btn" href="/login">LOGIN</a>
</body>
</html>
<!DOCTYPE html>
<head>
<title><%= title %></title>
<link rel="stylesheet" href="/css/bootstap.css">
<link rel="stylesheet" href="/css/myStyles.css">
</head>
<html>
<body>
<div id="#modal" class="modal fade"></div>
<a class="btn" href="/login">LOGIN</a>
<!-- scripts -->
<script src="/js/jQuery.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/myScripts.js"></script>
<!-- client-side tempates -->
<script type="text/template" id="modalTemplate">
<div class="modal-dialog">
.
<!-- look into bootstrap documentation -->
.
</div>
<script>
</body>
</html>
.
.
这些是我们的原则。正如您所看到的,当点击“登录”时,我们会将他们发送到登录页面,但如果他们有一个现代浏览器(启用javascript),我们会向他们显示一个模式登录表单
在这里,我们手动完成了所有客户端编码。您的myScripts.js文件越来越大,客户端模板也越来越大。这就是为什么会有,其他客户端框架和工具,比如,…jquery在浏览器中非常有用——我认为它在服务器上的用处是零——所以我要说,不要将jquery用于服务器端代码我同意@jaromanda。我曾经做过一些Node.js screen scrape类型的项目,其中我使用了一个名为cheerio()的NPM包,它基本上是服务器端Node的jQuery。jsnodejs本身没有网页显示,因此没有与用户的直接交互,所以很不清楚您在Node.js中使用jQuery做什么。一种猜测是,您应该在nodejs服务器发送到浏览器的网页中嵌入常规的客户端jQuery,然后浏览器将运行它。记住,网页永远不会在NodeJ上运行。nodejs的工作是将网页发送到浏览器,它们的Javascript在浏览器中运行,就像所有客户端Javascript一样。起初,我以为您可能在尝试刮取一些数据,并在刮取的数据上使用jQuery,但当您开始谈论单击按钮时,听起来像是客户端界面和操作。如果您确实想在服务器端“运行”web页面,那么您需要一个模拟浏览器的环境。有一些npm模块可以部分做到这一点。当你说“我应该在网页中嵌入常规客户端jQuery”时,你的意思是创建一个.js文件,在其中编写jQuery代码,然后在我的app.js(服务器端文件)中需要它吗?这是一个非常详细的答案,谢谢!但是在myScripts.js中,我有:`$(“输入#提交”)。在(“点击”上,function(){var imageURL=$(“#图像”).text();console.log(imageURL);}`它不起作用!一个简单的console.log工作得很好!在网页上,我无法操作数据,只有console.log起作用!有什么建议吗?是{title:“home”}必要?什么类型的数据?这些数据来自何处以及您如何使用它们?然后我们可以决定如何操作它们。请提供一个简单的例子,让我们回答您的具体问题。我有一个表单,用户在(“input#image”)中输入图像url,我想对url做些什么(将其设置为背景等),但即使是e.preventDefault()也不起作用。终于让它起作用了!我以前没有使用$(document).ready(function(){..})。我太笨了!非常感谢你帮了我这么多!
<!DOCTYPE html>
<head>
<title><%= title %></title>
<link rel="stylesheet" href="/css/bootstap.css">
<link rel="stylesheet" href="/css/myStyles.css">
</head>
<html>
<body>
<div id="#modal" class="modal fade"></div>
<a class="btn" href="/login">LOGIN</a>
<!-- scripts -->
<script src="/js/jQuery.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/myScripts.js"></script>
<!-- client-side tempates -->
<script type="text/template" id="modalTemplate">
<div class="modal-dialog">
.
<!-- look into bootstrap documentation -->
.
</div>
<script>
</body>
</html>