4
我想从A-Z 然后 0-9排序此列表。按数据属性按字母顺序排序列表项,然后按数字排序
<ol class="columns">
<li data-char="y">y</li>
<li data-char="1">1</li>
<li data-char="a">a</li>
<li data-char="e">e</li>
<li data-char="c">c</li>
<li data-char="w">w</li>
<li data-char="0">0</li>
<li data-char="9">9</li>
<li data-char="g">g</li>
</ol>
$(".columns li").sort(sort_li).appendTo('.columns');
function sort_li(a, b){
return ($(b).data('char')) < ($(a).data('char')) ? 1 : -1;
}
看了类似的问题,这是我想出来的,但它只适用于数字或字母(不是两个)。 https://jsfiddle.net/qLta1ky6/
干得漂亮,比我的更有效的解决方案。 – Theodore
谢谢@Theodore我其实也会使用'isNaN',但我认为只是简单地使用ASCII码就不那么复杂了。 –
出于好奇,我附加了非英文字符以及非ASCII字符,它的工作非常好,https://jsfiddle.net/qLta1ky6/4/。 再次,很好地完成队友! – Theodore