Ciudat comportament filtru () pe o masă

voturi
47

Poate cineva să se uite la demo-ul meu și spune-mi de ce celula mea nu este obtinerea evidențiată?

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

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

practic, vreau să subliniez celula de rang> 30

Actualizare: A modificat link-ul demo ca clasa a fost menționat în mod eronat

Întrebat 10/11/2014 la 05:06
de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
2

Ai niște greșeli:

1) Selector este greșit. Puteți adăuga tr(opțional) și , de asemenea , nu există nici o clasă cu td.rank

2) Pentru a compara textul din fiecare tdtrebuie mai întâi să se convertească la un număr utilizând 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>

Publicat 10/11/2014 la 05:10
sursa de către utilizator

voturi
0

Sunteți utilizați clasa greșit pentru a filtra. Ar trebui să folosiți td.age. DEMO

 $("#tbl td.rank").filter(function () {
     return parseInt($(this).text(),10) > 30;
  }).addClass('bright');
Publicat 10/11/2014 la 05:11
sursa de către utilizator

voturi
1

Cred că ai nevoie doar pentru a converti rangul de verificare la un întreg , astfel încât valoarea ar putea fi comparate. încercați pentru a schimba culoarea de potrivire TD text la altceva cum ar fi rosu pentru a observa efectul. incearca asta:

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

Demo

Publicat 10/11/2014 la 05:30
sursa de către utilizator

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