Seltsames filter () Verhalten auf einem Tisch

stimmen
47

Kann jemand bitte an meiner Demo sehen und mir sagen, warum ist meine Zelle nicht hervorgehoben zu werden?

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

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

Ich mag im Grunde um die Zelle zu markieren, dessen Rang> 30

Update: Changed Demo Link als Klasse hatte fälschlicherweise erwähnt

Veröffentlicht am 10/11/2014 um 05:06
vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
2

Sie haben einige Fehler:

1) Ihre Wähler sind falsch. Sie können hinzufügen tr(optional) und es gibt auch keine td mit Klasse.rank

2) Zum Vergleich Text von jedem zu tdkönnen , müsst eine Reihe mit umwandeln 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>

Beantwortet am 10/11/2014 um 05:10
quelle vom benutzer

stimmen
0

Sie verwenden falsche Klasse zu filtern. Sie sollten verwenden td.age. DEMO

 $("#tbl td.rank").filter(function () {
     return parseInt($(this).text(),10) > 30;
  }).addClass('bright');
Beantwortet am 10/11/2014 um 05:11
quelle vom benutzer

stimmen
1

Ich denke , man muss nur die Überprüfung Rang in einen Integer konvertieren , so dass der Wert verglichen werden. versuchen , die Farbe zu ändern TD Text etwas anderes wie rot passenden den Effekt zu bemerken. Versuche dies:

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

Demo

Beantwortet am 10/11/2014 um 05:30
quelle vom benutzer

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