次のようなテーブルがあります。
<table id="comparison">
<tr>
<th>Hotels</th>
<th>Jan 2013</th>
<th>Feb 2013</th>
</tr>
<tr>
<td>Lorem Ipsum Hotel</td>
<td>
<div class="rooms">165</div>
<div class="sob">352</div>
</td>
<td>
<div class="rooms">215</div>
<div class="sob">30</div>
</td>
</tr>
</table>
各セルの部屋と SOB を比較するために、この jQuery スクリプトを用意しました。
- SOB が部屋よりも少ない場合、SOB を赤く着色して否定的な結果を示します。
- SOB が部屋よりも大きい場合は、SOB を緑に色付けして肯定的な結果を示します。
$('#comparison td .sob').each(function() {
var rooms = $(this).prev().text();
var sob = $(this).text();
if (rooms > sob) {
$(this).css({'color': 'red'});
} else {
$(this).css({'color': 'green'});
}
});
問題は、このスクリプトが部屋と SOB を正しく比較していないことです。変数の比較でランダムに実行されているようで、正しい結果が得られる場合とそうでない場合があります。
私は何が欠けていますか?