使用jQuery根据状态Yes设置HTML表格td背景色的异常排查请求
解决Shipping列"Yes"单元格背景色设置问题
看起来你的脚本已经能正确获取到单元格文本,但无法触发if条件,大概率是文本前后存在空白字符(比如表格渲染时产生的换行、空格)导致严格相等(==)匹配失败。另外你的代码里还有个小语法错误——console.log里多了个分号,不过既然你说能正常打印,估计是输入时的笔误。
下面是修正后的具体方案:
方案1:去除文本空白后精准匹配
通过trim()方法去掉文本两端的空格、换行等空白字符,确保和'Yes'完全一致:
<script> $('#myTable > tbody > tr > td:nth-child(4)').each(function(){ var cellText = $(this).text().trim(); // 去除前后空白 console.log(cellText); if(cellText == 'Yes') { $(this).css('background-color', 'red'); } }); </script>
方案2:更简洁的jQuery筛选写法
如果能确定单元格内容只有"Yes"/"No",可以直接用:contains()选择器筛选目标单元格,一步完成设置:
<script> $('#myTable > tbody > tr > td:nth-child(4):contains("Yes")').css('background-color', 'red'); </script>
额外注意事项
- 确认你的表格确实设置了
id="myTable",否则选择器无法定位到目标元素 - 确保脚本在DOM加载完成后执行,最好把脚本放在
</body>标签前,或者用$(document).ready()包裹:<script> $(document).ready(function(){ // 上面的代码放在这里 }); </script>
内容的提问来源于stack exchange,提问作者SanCube
相关产品推荐
相关产品推荐

