Javascript 如何在js中从表中获取文本值
我在一家酒店有一张空余房间的表格,如果有空余房间,我想把文本变成绿色。是否可以检查td的innerHTML以查看其是否显示“可用”Javascript 如何在js中从表中获取文本值,javascript,html,css,Javascript,Html,Css,我在一家酒店有一张空余房间的表格,如果有空余房间,我想把文本变成绿色。是否可以检查td的innerHTML以查看其是否显示“可用” var status=document.querySelectorAll(“td”); 如果(status.innerHTML==“可用”){ 添加(“可用绿色”); } 。可用绿色{ 颜色:绿色; } 预定 可获得的 可获得的 预定 节点接口的属性表示节点及其子节点的文本内容 var Status=document.querySelectorAll(“td”
var status=document.querySelectorAll(“td”);
如果(status.innerHTML==“可用”){
添加(“可用绿色”);
}
。可用绿色{
颜色:绿色;
}
预定
可获得的
可获得的
预定
节点接口的属性表示节点及其子节点的文本内容
var Status=document.querySelectorAll(“td”);
forEach状态(功能(el){
如果(el.textContent==“可用”){
el.classList.add(“可用绿色”);
}
});代码>
。可用绿色{
颜色:绿色;
}
预定
可获得的
可获得的
预定
请阅读
var statuses=document.querySelectorAll(“td”);
status.forEach(状态=>{
如果(status.innerHTML==“可用”){
status.classList.add(“可用绿色”);
}
})
。可用绿色{
颜色:绿色;
}
预定
可获得的
可获得的
预定
您有几个问题:
document.querySelectorAll
将返回一个集合,因为在查询
标记时可以获得许多元素。因此,当您获得多个元素时,您可以使用.forEach
在节点列表中遍历每个元素
目前,您没有获得任何内容的.classList
,因此执行classList.add(“可用绿色”)代码>将不会产生结果。相反,当使用forEach
循环时,可以使用当前元素(.forEach
方法的第一个参数)作为元素来更改类列表
状态
是一个预定义变量,它是窗口的一部分
通常不使用它,因为它可能导致意外行为
虽然这不是必需的,但如果不从元素中检索HTML,则通常认为使用.innerHTML
不是好的做法。相反,您可以在检索文本时使用.textContent
请参见下面的工作示例:
var tableData=document.querySelectorAll(“td”);//以小写字母开始变量名,以大写字母开始类名
tableData.forEach(函数(元素){
如果(element.textContent==“可用”){
元素.classList.add(“可用绿色”);
}
});代码>
。可用绿色{
颜色:浅绿色;
}
预定
可获得的
可获得的
预定
QuerySelector all返回一个节点列表,我们可以将其作为一个数组处理,我们得到一个状态数组来检查必须循环的值
var Status=document.querySelectorAll(“td”);
控制台日志(状态);
Status.forEach(元素=>{
如果(element.innerHTML==“可用”){
元素.classList.add(“可用绿色”);
}
})
。可用绿色{
颜色:绿色;
}
预定
可获得的
可获得的
预定
当我试图将其添加到代码中时,收到了此错误消息:“TypeError:status.forEach不是函数。”@AadneHaalandstatus
和status
不同的变量。设置状态时请尝试Status
。