テーブルでセルのテキストに応じて、親trの背景色を変えたいと思ったときにちょっとハマったので、メモ。
良くない例
これではうまくいきませんでした。
$(function(){
$('table td').each(function(){
if($(this).text() === 'hoge'){
$(this).parents('tr').addClass('hoge');
}else {
$(this).parents('tr').addClass('huge');
}
});
});
どうしていけなかったのか?
文字は、"合っているか"ではなく、”含まれているか”で判定してやらないといけなかった。
$(this).text() === 'hoge'
→ $(this).text().indexOf('hoge') != -1
こうしたらうまくいった。
$(function(){
$('table td').each(function(){
if($(this).text().indexOf('hoge') != -1){
$(this).parents('tr').addClass('hoge');
}else {
$(this).parents('tr').addClass('huge');
}
});
});