如何用jQuery对比表格值?高尔夫APP高亮球洞问题求助
高尔夫APP洞指数高亮问题修复方案
你的代码有几个关键错误导致无法实现高亮效果,以下是修正后的代码和错误解析:
错误点解析
- 类选择器缺失前缀:
.tee-index是类选择器,原代码写的$("tee-index")没有加.,jQuery无法定位到目标元素 - 元素内容获取方法错误:
th标签不是表单元素,不能用.value()获取内容,应该用jQuery的.text()方法 - 比较逻辑错误:原代码直接将洞指数和选择器字符串
'#index-player-1'比较,正确做法是先获取该元素的文本值,转成数字后再进行数值比较 - 字符串转数字:文本内容默认是字符串类型,必须转成数字(用
parseFloat或Number)才能正确进行大小比较
修正后的jQuery代码
$(function() { // 获取球员1的差点数值并转换为数字 const playerHandicap = parseFloat($('#index-player-1').text()); // 遍历所有洞指数元素 $(".tee-index").each(function() { // 获取当前洞指数并转换为数字 const holeIndex = parseFloat($(this).text()); // 数值比较,满足条件则高亮 if (holeIndex > playerHandicap) { $(this).css('color', 'red'); } }); });
说明
- HTML部分无需修改,保持原结构即可
- 如果后续需要支持多球员,可以通过循环遍历每个球员的差点元素,对应处理每一列的洞指数高亮
内容的提问来源于stack exchange,提问作者egkennedy93
相关产品推荐
相关产品推荐

