我目前有一个通过PHP填充数字的表。我想使用jQuery检查一个单元格是否包含1和10之间的数字,然后将一个类应用于该单元格。
这就是我的......
HTML - PHP填充数字
<table>
<tr>
<td class="times"> 11:00</td>
<td class="number"> 10 </td>
</tr>
<tr>
<td class="times"> 12:00</td>
<td class="number"> 15 </td>
</tr>
</table>
的jQuery
$( "td.number:contains('10')").addClass( "green" );
这很好但我需要它来做两个数字之间的数字,例如&gt; = 5&amp;&amp; &LT; = 10
知道我该怎么做吗?
答案 0 :(得分:2)
使用filter根据某些条件过滤元素。
将匹配元素集合减少到与选择器匹配的元素或通过函数测试。
当返回true
时,元素将被添加到set中,当返回false
时,元素将从set中删除。
现场演示
$('td.number').filter(function() {
// Get the number and convert it to Number
var num = +($(this).text().trim());
return num >= 5 && num <= 10;
}).addClass('green');
.green {
color: green;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table>
<tr>
<td class="times">11:00</td>
<td class="number">10</td>
</tr>
<tr>
<td class="times">12:00</td>
<td class="number">15</td>
</tr>
</table>
答案 1 :(得分:1)
@Tushar是正确的答案,因为它仅对那些需要操作的元素进行操作。
我只针对可能需要根据演示中显示的值向每td.number
添加一个类的情况添加此方法。 或者你可以用''替换'yellow',它可以完成当前的工作。
$('td.number').addClass(function() {
var n = +this.textContent;
return (n >= 1 && n <= 10) ? 'green' : 'yellow';
});
.green {
background-color: green;
}
.yellow {
background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td class="times">11:00</td>
<td class="number">10</td>
</tr>
<tr>
<td class="times">12:00</td>
<td class="number">15</td>
</tr>
</table>
答案 2 :(得分:0)
这也有效JSFiddle
lab2:
cmp [ecx],byte ' '
je lab1
cmp [ecx], byte 0
je lab3
inc edx
inc ecx
jmp lab2
lab1:
sub ecx,edx
mov eax, SYS_WRITE
mov ebx, STDOUT
int 80h
add ecx, edx
inc ecx
mov edx,0
jmp lab2
&#13;
$("td.number").each(function() {
var inner = $(this).text();
if (!isNaN(inner) && 0 < inner && inner <= 10) {
$(this).addClass('green');
}
// can add one or more "else if" statements for multi-stage comparison
// like add more classes or filter out unneeded elements
});
&#13;
.green {
color: white;
font-weight: bold;
background-color: green;
}
&#13;