Παράξενη φίλτρου () συμπεριφορά σε ένα τραπέζι

ψήφοι
47

Μπορεί κάποιος παρακαλώ δείτε το demo μου και να μου πείτε γιατί κελί μου δεν παίρνει τονίζεται;

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

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

Βασικά, θέλω να επισημάνω το κελί του οποίου βαθμό> 30

Ενημέρωση: Άλλαξε demo συνδέσμου ως τάξη είχε λανθασμένα αναφερθεί

Δημοσιεύθηκε 10/11/2014 στις 05:06
χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
2

Έχετε κάποια λάθη:

1) επιλογέας σας είναι λάθος. Μπορείτε να προσθέσετε tr(προαιρετικά) και, επίσης, δεν υπάρχει td με την κατηγορία.rank

2) Για να συγκρίνετε το κείμενο του καθενός tdθα πρέπει πρώτα να μετατραπούν σε έναν αριθμό χρησιμοποιώντας 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>

Απαντήθηκε 10/11/2014 στις 05:10
πηγή χρήστη

ψήφοι
0

Χρησιμοποιείτε λάθος κατηγορία για να φιλτράρετε. Θα πρέπει να χρησιμοποιείτε td.age. ΔΙΑΔΗΛΩΣΗ

 $("#tbl td.rank").filter(function () {
     return parseInt($(this).text(),10) > 30;
  }).addClass('bright');
Απαντήθηκε 10/11/2014 στις 05:11
πηγή χρήστη

ψήφοι
1

Υποθέτω ότι το μόνο που χρειάζεται για να μετατρέψει το βαθμό ελέγχου σε έναν ακέραιο έτσι ώστε να μπορεί να συγκριθεί η τιμή. προσπαθήστε να αλλάξετε το χρώμα του κειμένου που ταιριάζουν TD σε κάτι άλλο, όπως το κόκκινο για να παρατηρήσετε το αποτέλεσμα. δοκιμάστε αυτό:

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

Διαδήλωση

Απαντήθηκε 10/11/2014 στις 05:30
πηγή χρήστη

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