我有一个动态创建的列表如下:
<ul>
<li>20</li>
<li>10</li>
<li>5</li>
<li>3</li>
<li>32</li>
<li>25</li>
<li>6</li>
<li>12</li>
<li>8</li>
</ul>
是否可以使用 jQuery 来订购此列表?我需要它从低到大排序,如下所示:
<ul>
<li>3</li>
<li>5</li>
<li>6</li>
<li>8</li>
<li>10</li>
<li>12</li>
<li>20</li>
<li>25</li>
<li>32</li>
</ul>
最佳答案
下面应该可以解决问题:
$(function() {
$('button').click(function() {
var liContents = [];
$('ul li').each(function() {
liContents.push(parseInt($(this).text(), 10));
});
liContents.sort(numOrdDesc);
$('ul li').each(function() {
$(this).text(liContents.pop());
});
});
});
function numOrdDesc(a, b) {
return (b - a);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>20</li>
<li>10</li>
<li>5</li>
<li>3</li>
<li>32</li>
<li>25</li>
<li>6</li>
<li>12</li>
<li>8</li>
</ul>
<button>Sort</button>
关于jquery - 如何对包含数字内容的 <li> 列表进行排序(排序)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215341/