jQuery - 如果包含x和y之间的数字

时间:2015-10-29 04:15:19

标签: jquery contains addclass

我目前有一个通过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

知道我该怎么做吗?

3 个答案:

答案 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

&#13;
&#13;
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;
&#13;
&#13;