我写了这个脚本,它过滤了一个包含被视为字符串的数字的表。我使用parseInt()将字符串转换为数字。见下面的代码。 然后我被要求将其应用于另一个包含“1.00”或“0.00”字符串的单元格,并且有一个名为goal的类。 我知道我可以复制下面的代码并更改解析以查找数字== 1,但我正在寻找一种更有效的方法来管理它。
<script type="text/javascript">
$(document).ready(function () {
$('td.completedPercent').filter(function (index) {
return parseInt(this.innerHTML, 10) >= 90;
}).css({ 'color': '#FFF', 'background-color': '#336633' });
});
</script>
答案 0 :(得分:1)
的 jsFiddle Demo
强> 的
如果要将过滤器应用于td
这两个类,请尝试同时选择这两个类,并在过滤器内部提供区分它们的or子句。收集小组后,您可以将css应用于该小组。这里的课也很好。
<script type="text/javascript">
$(document).ready(function () {
$('td.completedPercent, td.goal').filter(function () {
var t = $(this),i = parseInt(t.html(), 10);
return (t.hasClass("goal") && i == 1) || i >= 90;})
.css({ 'color': '#FFF', 'background-color': '#336633' });
});
</script>
答案 1 :(得分:0)
就个人而言,我会这样写:
$(function () {
$('td').each(function () {
var content = $(this).text();
if (($(this).hasClass('completedPercent') && parseInt(content, 10) >= 90) || ($(this).hasClass('goal') && (content === '1.00' || content === '0.00'))) {
$(this).css({
'color': '#FFF',
'background-color': '#336633'
});
}
});
});
但@ TravisJ的答案也有效。