Javascript 如何在js中从表中获取文本值

Javascript 如何在js中从表中获取文本值,javascript,html,css,Javascript,Html,Css,我在一家酒店有一张空余房间的表格,如果有空余房间,我想把文本变成绿色。是否可以检查td的innerHTML以查看其是否显示“可用” var status=document.querySelectorAll(“td”); 如果(status.innerHTML==“可用”){ 添加(“可用绿色”); } 。可用绿色{ 颜色:绿色; } 预定 可获得的 可获得的 预定 节点接口的属性表示节点及其子节点的文本内容 var Status=document.querySelectorAll(“td”

我在一家酒店有一张空余房间的表格,如果有空余房间,我想把文本变成绿色。是否可以检查td的innerHTML以查看其是否显示“可用”

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不是函数。”@AadneHaaland
    status
    status
    不同的变量。设置状态时请尝试
    Status