Объяснить что происходит
Помогите пожалуйста перевести в обычный вид ( в обычный javascript или объяснить ) ничего не понимаю что здесь происходит, но работает:) :)
<table cellpadding="7" align="center"> <tr><th onclick="sort_age();">SORT AGE</th></tr> <tbody id="table1"> <tr><td>28</td></tr> <tr><td>36</td></tr> <tr><td>21</td></tr> <tr><td>34</td></tr> <tr><td>14</td></tr> <tr><td>24</td></tr> </tbody> </table> function sort_age() { var tbody = $('#table1'); // берем таблицу tbody.find('tr').sort(function(a, b){ return $('td:last', a).text().localeCompare($('td:last', b).text()); }).appendTo(tbody); } Прошу объяснить функцию в js, и если не трудно написать её для более менее новичков, спасибо большое буду благодарен |
Цитата:
Про localeCompare() смотри тут https://msdn.microsoft.com/ru-ru/lib...(v=vs.94).aspx https://javascript.ru/String |
И еще - в данном конкретном случае лишнее 'td:last', т.к. в каждой строке по одной ячейке.
|
Цитата:
вариант для сортровки чисел <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> </head> <body> <table cellpadding="7" align="center"> <tr><th onclick="sort_age();">SORT AGE</th></tr> <tbody id="table1"> <tr><td>8</td></tr> <tr><td>36</td></tr> <tr><td>21</td></tr> <tr><td>34</td></tr> <tr><td>14</td></tr> <tr><td>24</td></tr> </tbody> </table> <script> function sort_age() { var tbody = $('#table1'); // берем таблицу tbody.find('tr').sort(function(a, b){ return $(a).text() - $(b).text(); }).appendTo(tbody); } </script> </body> </html> |
сортировка чисел с localeCompare
Роман1479,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> </head> <body> <table cellpadding="7" align="center"> <tr><th onclick="sort_age();">SORT AGE</th></tr> <tbody id="table1"> <tr><td>8</td></tr> <tr><td>36</td></tr> <tr><td>21</td></tr> <tr><td>34</td></tr> <tr><td>14</td></tr> <tr><td>24</td></tr> </tbody> </table> <script> function sort_age() { var tbody = $('#table1'); // берем таблицу tbody.find('tr').sort(function(a, b){ return $('td:last', a).text().localeCompare($('td:last', b).text(), "ru", {numeric : true}); }).appendTo(tbody); } </script> </body> </html> |
Часовой пояс GMT +3, время: 05:21. |