Javascript Jquery在ul内部排序
下面是我的HTML代码:Javascript Jquery在ul内部排序,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,下面是我的HTML代码: <ul class="ul_s_results"> <li class="li_results"> <table> <tr> <td><a class="li_name">John</a></td>
<ul class="ul_s_results">
<li class="li_results">
<table>
<tr>
<td><a class="li_name">John</a></td>
<td><a class="li_roll">4</a></td>
</tr>
</table>
</li>
<li class="li_results">
<table>
<tr>
<td><a class="li_name">Jack</a></td>
<td><a class="li_roll">1</a></td>
</tr>
</table>
</li>
<li class="li_results">
<table>
<tr>
<td><a class="li_name">Abe</a></td>
<td><a class="li_roll">3</a></td>
</tr>
</table>
</li>
<li class="li_results">
<table>
<tr>
<td><a class="li_name">Racheal</a></td>
<td><a class="li_roll">2</a></td>
</tr>
</table>
</li>
</ul>
<button>sort</button>
当li\u roll
和li\u name
在一个表中时,有人知道如何对列表进行排序吗
新JS代码:
$(function () {
var liContents = [];
$('ul li .li_roll').each (function () {
liContents.push(parseInt($(this).text(), 10));
alert($(this).text());
});
liContents.sort(numOrdDesc);
$('ul li').each (function () {
$(this).text(liContents.pop());
});
});
function numOrdDesc(a, b){ return (b-a); }
js代码的结果(删除所有名称)
一,
二,
三,
4这是一个基于
文本值的html工作排序
$("button").click(function(){
var lis = $(".li_results");
lis = lis.sort(function(a,b){
var num1 = parseInt($(a).find(".li_roll").text(), 10),
num2 = parseInt($(b).find(".li_roll").text(), 10);
console.log(num1, num2);
if (num1 > num2) return 1;
if (num1 < num2) return -1;
return 0;
});
$(".ul_s_results").html(lis);
});
$(“按钮”)。单击(函数(){
var lis=$(“.li_结果”);
lis=lis.排序(功能(a,b){
var num1=parseInt($(a).find(“.li_roll”).text(),10),
num2=parseInt($(b).find(“.li_roll”).text(),10);
控制台日志(num1,num2);
如果(num1>num2)返回1;
如果(num1
工作小提琴:
您能显示用于排序的javascript吗?如果您正在进行排序,请不要使用.innerHTML
进行排序。排序条件要使用什么值?姓名还是名单?@ry4nolson检查edit@cookiemonster排序标准是roll numberliContents.push(parseInt($(this.find)(.li_roll”).text(),10))代码>
$("button").click(function(){
var lis = $(".li_results");
lis = lis.sort(function(a,b){
var num1 = parseInt($(a).find(".li_roll").text(), 10),
num2 = parseInt($(b).find(".li_roll").text(), 10);
console.log(num1, num2);
if (num1 > num2) return 1;
if (num1 < num2) return -1;
return 0;
});
$(".ul_s_results").html(lis);
});