gpt4 book ai didi

jquery - 在 jQuery 中按字母和数字排序

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:49 25 4
gpt4 key购买 nike

如您所见,它按字母和数字顺序对 95% 的 div 进行了排序,但存在错误。不知道为什么这样做。如果你多次按下按钮,你就会明白我的意思。谢谢!

它似乎总是第一个、第二个和第四个框。

var $divs = $("div.box");

$('#alphBnt').on('click', function() {
var alphabeticallyOrderedDivs = $divs.sort(function(a, b) {
return $(a).find("h1").text() > $(b).find("h1").text();
});
$("#container").html(alphabeticallyOrderedDivs);
});

$('#numBnt').on('click', function() {
var numericallyOrderedDivs = $divs.sort(function(a, b) {
return $(a).find("h2").text() > $(b).find("h2").text();
});
$("#container").html(numericallyOrderedDivs);
});
body {
background: #eee;
font-family: sans-serif;
}
.box {
background: lightgreen;
height: 200px;
width: 200px;
display: inline-block;
}
.box h1 {
color: white;
font-size: 1em;
text-align: center;
}
.box h2 {
color: black;
font-size: 2.5em;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="wrap">
<button id="alphBnt">Alphabetical</button>
<button id="numBnt">Numerical</button>
<div id="container">

<div class="box">
<h1>A</h1>
<h2>7/10</h2>
</div>

<div class="box">
<h1>B</h1>
<h2>8/10</h2>
</div>

<div class="box">
<h1>C</h1>
<h2>6.8/10</h2>
</div>

<div class="box">
<h1>D</h1>
<h2>8/10</h2>
</div>

<div class="box">
<h1>E</h1>
<h2>510.25</h2>
</div>

<div class="box">
<h1>F</h1>
<h2>5,512</h2>

<div class="box">
<h1>G</h1>
<h2>7/10</h2>
</div>

<div class="box">
<h1>H</h1>
<h2>8/10</h2>
</div>

<div class="box">
<h1>I</h1>
<h2>6.8/10</h2>
</div>

<div class="box">
<h1>J</h1>
<h2>8/10</h2>
</div>

<div class="box">
<h1>K</h1>
<h2>510.25</h2>
</div>

<div class="box">
<h1>L</h1>
<h2>5,512</h2>
</div>

最佳答案

sort()的回调函数需要负值、0 或正值作为返回值,因为您返回一个 bool 值,它会将 false 视为 0,这被评估为相等。如果您尝试此排序功能,您会发现它有效:

$('#alphBnt').on('click', function () {
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
var at = $(a).find("h1").text();
var bt = $(b).find("h1").text();
return at > bt ? 1 : (at < bt ? -1 : 0);
});
$("#container").html(alphabeticallyOrderedDivs);
});

关于jquery - 在 jQuery 中按字母和数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35863918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com