comportamiento extraño filtro () sobre una mesa

votos
47

Por favor alguien puede mirar a mi demo y dime por qué mi celular no se está resaltada?

$(#tbl td.rank).filter(function () {
    return $(this).text() > 30;
}).addClass('bright');

http://jsfiddle.net/qmftvxyd/6/

Básicamente quiero resaltar la celda cuyo rango> 30

Actualización: Se ha cambiado enlace de demostración como clase había sido mencionado erróneamente

Publicado el 10/11/2014 a las 05:06
por usuario
En otros idiomas...                            


3 respuestas

votos
2

Usted tiene algunos errores:

1) El selector está mal. Se pueden añadir tr(opcional) y también no hay td con la clase.rank

2) Para comparar el texto de cada uno tdprimero tiene que convertir en un número usando parseInt .

$("#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>

Respondida el 10/11/2014 a las 05:10
fuente por usuario

votos
0

Está utilizando la clase equivocada de filtrar. Debe utilizar td.age. MANIFESTACIÓN

 $("#tbl td.rank").filter(function () {
     return parseInt($(this).text(),10) > 30;
  }).addClass('bright');
Respondida el 10/11/2014 a las 05:11
fuente por usuario

votos
1

Creo que sólo tiene que convertir el rango de cheques a un número entero de modo que el valor podría ser comparado. tratar de cambiar el color del texto coincidente TD a otra cosa, como el rojo a notar el efecto. prueba esto:

$("#tbl td.rank").filter(function () {
    return parseInt($(this).text()) > 30;
}).addClass('bright');

Manifestación

Respondida el 10/11/2014 a las 05:30
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more