Javascript 是否有一种方法可以读取和更新节点js中html属性的值?

Javascript 是否有一种方法可以读取和更新节点js中html属性的值?,javascript,html,node.js,jsdom,Javascript,Html,Node.js,Jsdom,我想使用date holidaysnpm包来检查两个给定日期之间的假期,还想使用一个自定义函数来检查周末,然后从两个日期之间的天数中减去这两个,这样我就可以返回可用的工作日数。 到目前为止,我已经使用硬编码日期创建了函数,它在控制台中运行得非常好,但我不知道如何使用onchange()从HTML文件中读取日期值,然后使用它们获取剩余天数,然后在提交表单之前更新HTML页面上剩余天数的值。我尝试使用document.getElementbyId(),但发现node.js不支持DOM。 我怎样才能避

我想使用
date holidays
npm包来检查两个给定日期之间的假期,还想使用一个自定义函数来检查周末,然后从两个日期之间的天数中减去这两个,这样我就可以返回可用的工作日数。 到目前为止,我已经使用硬编码日期创建了函数,它在控制台中运行得非常好,但我不知道如何使用
onchange()
从HTML文件中读取日期值,然后使用它们获取剩余天数,然后在提交表单之前更新HTML页面上剩余天数的值。我尝试使用
document.getElementbyId()
,但发现node.js不支持DOM。 我怎样才能避开这件事

守则:

var假日=需要(“日期假日”)
var hd=新假日()
var countries=hd.getCountries()//获取支持的国家/地区
hd.init('KE')//获取当年的肯尼亚假期
函数GetFormatted_StartDate(){
var start_hol=新日期(“2021年11月30日”);
var dd=String(start_hol.getDate()).padStart(2,'0');
var mm=String(start_hol.getMonth()+1).padStart(2,'0');
var yyy=start_hol.getFullYear();
开始日期=新日期(mm+'/'+dd+'/'+yyy);
返回开始时间;
}
函数getFormatted_EndDate(){
var end_hol=新日期(“2021年12月28日”);
var dd=String(end_hol.getDate()).padStart(2,'0');
var mm=String(end_hol.getMonth()+1).padStart(2,'0');
var yyy=end_hol.getFullYear();
结束日期=新日期(mm+'/'+dd+'/'+yyy);
返回端;
}
函数getTimeDifference(){
var a=GetFormatted_StartDate();
var b=getformatted_EndDate();
var Diff_in_tym=b.getTime()-a.getTime();
返回差分格式;
}
函数getDifferenceInDays(){
var i=getTimeDifference();
var Diff_(单位:天)=i/(1000*3600*24);
在天内返回差异;
}
函数getWeekendsAndHolidays(){
var总天数=0;
var start=getformatted_StartDate();
var end=getformatted_EndDate();
对于(var d=新日期(开始);d
你好,世界!

工作日 输入开始日期:

输入结束日期:

算计

可用工作日:


因此,听起来您不明白,您的nodejs服务器在一个完全独立的网络和计算机中运行,而HTML页面及其Javascript在浏览器中运行(在最终用户的计算机上)。两者完全分开。这就是所谓的客户端/服务器体系结构。服务器无法直接访问浏览器中正在运行的HTML页面

要在HTML页面中使用
change
事件来验证服务器上的值,您需要向服务器发送一个Ajax调用(http网络请求)和新数据,并询问服务器该数据是否有效。然后,您的网页将从该网页返回结果,然后可以相应地执行操作

为了支持此特定验证调用的Ajax调用,您需要在nodejs服务器上专门为此操作创建一个新路由


或者,如果您想在
change
事件中执行的操作不需要与服务器对话,那么您可以直接将Javascript添加到您的网页,从
change
事件中获取新值,然后(完全在网页中)决定您想在当前网页中执行的修改或检查