我使用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完全不区分大小写?
答案 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