Javascript 使用jquery根据两列中的条件高亮显示行

Javascript 使用jquery根据两列中的条件高亮显示行,javascript,jquery,html,Javascript,Jquery,Html,我有一张这样的桌子: S.No Name Year Pay 1 A 2004 100 2 B 2005 200 3 C 2004 75 $('tr').find('td:eq(2):contains(2004)') .parent() .find('td:eq(3)') .filter(function(){ return parseInt($(this).text()) < 3

我有一张这样的桌子:

S.No  Name  Year   Pay

 1      A   2004   100
 2      B   2005   200
 3      C   2004   75
$('tr').find('td:eq(2):contains(2004)')
  .parent()
    .find('td:eq(3)')
      .filter(function(){
        return parseInt($(this).text()) < 300;
      })
      .parent()
        .css('backgroundColor', '#E8E8E8'); 
需要突出显示年份=2004且以{75200300}支付的行。我想用这样的东西:

S.No  Name  Year   Pay

 1      A   2004   100
 2      B   2005   200
 3      C   2004   75
$('tr').find('td:eq(2):contains(2004)')
  .parent()
    .find('td:eq(3)')
      .filter(function(){
        return parseInt($(this).text()) < 300;
      })
      .parent()
        .css('backgroundColor', '#E8E8E8'); 
$('tr').find('td:eq(2):contains(2004)'
.parent()
.find('td:eq(3)'
.filter(函数(){
返回parseInt($(this).text())<300;
})
.parent()
.css('backgroundColor','#E8E8E8');
在上面的工作jquery中,我需要在{75200300}

请帮助我调试这个问题。

试试这个


用正则表达式怎么样?万一

    $('tr').find('td:eq(2):contains(2004)').parent().find('td:eq(3)').filter(function(){
return parseInt($(this).text().match(/(75)|(200)|(300)/g));
}).parent().css('backgroundColor', '#E8E8E8'); 
我只是用同样的方法做了另一件事:

考虑到你的问题,我不确定{75200300}是从哪里来的。但是如果您只是检查一个值是否在其他值的列表中,那么您可以对javascript数组使用indexOf()方法。您的“/75 | 200 | 300/”将匹配1200或275等值。您可能需要匹配边界或字符串的开始和结束,以便实际实现您所寻找的。您是对的,仓促完成了。谢谢你的评论。我刚刚纠正了它。