You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将HTML表格中与输入框内容匹配的td元素class修改为inactive

问题原因

你的代码无法生效的核心问题如下:

  • removeClass()、addClass()是jQuery框架提供的专属方法,你通过原生document.getElementsByClassName拿到的是原生DOM元素对象,本身不具备这两个方法,调用会直接报错导致逻辑中断。
  • 额外可优化点:两层循环的写法效率较低,可将输入框值转为Set结构简化判断逻辑,同时用textContent替代innerHTML取值更安全,避免单元格内有HTML标签时判断出错。

正确实现代码(原生JS无依赖)

// 处理输入框值,转成Set结构方便快速匹配
const targetRooms = new Set(document.getElementById('occuredrooms').value.trim().split(' '));
// 获取所有状态为active的房间单元格
const roomCells = document.querySelectorAll('.room.active');

// 遍历单元格匹配修改样式
roomCells.forEach(cell => {
    if (targetRooms.has(cell.textContent.trim())) {
        cell.classList.remove('active');
        cell.classList.add('inactive');
    }
})

若你坚持使用jQuery实现

需要先在页面引入jQuery库,再调整代码写法如下:

const targetRooms = $('#occuredrooms').val().trim().split(' ');
$('.room.active').each(function() {
    if (targetRooms.includes($(this).text().trim())) {
        $(this).removeClass('active').addClass('inactive');
    }
})

内容的提问来源于stack exchange,提问作者Huy Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:15:04