有人可以看看我的演示并告诉我为什么我的单元格没有突出显示?
$("#tbl td.rank").filter(function () {
return $(this).text() > 30;
}).addClass('bright');
http://jsfiddle.net/qmftvxyd/6/
我基本上想要突出显示等级>的单元格。 30
更新:更改了演示链接,因为错误地提到了课程
答案 0 :(得分:2)
你有一些错误:
1)你的选择器错了。您可以添加tr
(可选),也不会添加类.rank
2)使用parseInt比较您首先要转换为数字的td
的文字。
$("#tbl tr td.age").filter(function() {
return parseInt($(this).text(), 10) > 30;
}).addClass('bright');
.bright {
color: red !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tbl">
<thead>
<tr>
<th class="id">EmpNo</th>
<th class="name">First Name</th>
<th class="rank">Rank</th>
</tr>
</thead>
<tbody>
<tr>
<td class="id">E342</td>
<td class="name">Bill</td>
<td class="age">35</td>
</tr>
<tr>
<td class="id">E343</td>
<td class="name">Laura</td>
<td class="age">26</td>
</tr>
</tbody>
</table>
答案 1 :(得分:1)
我猜您只需要将检查等级转换为Integer,以便可以比较该值。 尝试将匹配的TD文字的颜色更改为其他类似红色的颜色以注意效果。 试试这个:
$("#tbl td.rank").filter(function () {
return parseInt($(this).text()) > 30;
}).addClass('bright');
答案 2 :(得分:0)
您正在使用错误的类进行过滤。您应该使用td.age
。
的 DEMO 强>
$("#tbl td.rank").filter(function () {
return parseInt($(this).text(),10) > 30;
}).addClass('bright');