使jQuery完全不区分大小写

时间:2014-05-28 09:19:22

标签: javascript jquery case-sensitive

我使用jQuery进行自动化测试。应用程序不同部分的HTML看起来非常相似,但有时候类名,ID和样式的大写不同。

例如,结果表的类是某些'网格'有时'网格'。

所以我需要在测试代码中使用不同的jQuery表达式(在Java中):

public String getResultCell(int row, int colum) throws Exception {
  return _browser.evaluateJavaScript("$('table.Grid').find('tbody').find('tr').eq(" + row + ").find('td').eq(" + colum + ").text()").trim();
}

有时

// FIXME: fix case sensitivity
public String getResultCell(int row, int colum) throws Exception {
  return _browser.evaluateJavaScript("$('table.grid').find('tbody').find('tr').eq(" + row + ").find('td').eq(" + colum + ").text()").trim();
}

有没有办法让jQuery完全不区分大小写?

1 个答案:

答案 0 :(得分:1)

此jquery代码应按类名查找表,而不依赖于大小写

var classname = 'grid';
$('table').filter(function(){
   return (" "+$(this).get(0).className.toLowerCase()+" ".indexOf(' '+classname.toLowerCase()+' ')!=-1);
});

您可以将其包装为jquery方法:

$.fn.filterByClass = function (classname) {
    return $(this).filter(function(){
       return (" "+$(this).get(0).className.toLowerCase()+" ".indexOf(' '+classname.toLowerCase()+' ')!=-1);
    });
};

然后像这样使用:$('table').filterByClass('grid')

请参阅demo