我遇到了这个问题,无法弄清楚要做什么。
我有桌子:
<table class="jtable">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>agea</td>
<td>haeh</td>
</tr>
<tr>
<td>3</td>
<td>2</td>
<td>1</td>
</tr>
</tbody>
</table>
我需要检查第一栏,这就是我的工作:
$(document).ready(function(){
var arr = new Array(2, 1);
$('.jtable').find("tbody tr").each(function(){
var firstCol = $(this).find("td:first").text();
var inArray = arr.indexOf(firstCol);
alert(firstCol+" "+inArray);
if(inArray == -1){
$(this).css("background", "red");
} else {
$(this).css("background", "green");
}
});
});
但是对于来自indexOf
的所有循环周期,我得到的是-1,当我将indexOf(firstCol)
更改为数组中的一个数字时,它运行良好,但我需要动态变量。任何解决方案,或我做错了什么?
这是小提琴:http://jsfiddle.net/raa8B/
我也尝试了$.inArray
答案 0 :(得分:2)
答案 1 :(得分:0)
您必须将text()
转换为整数,以将其与数组中的整数进行比较:
var firstCol = parseInt($(this).find("td:first").text());