gpt4 book ai didi

javascript - 使用 "."而不是 ","正确排序 div 值?

转载 作者:行者123 更新时间:2023-11-30 00:25:03 25 4
gpt4 key购买 nike

我使用以下脚本对 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);
});

在我的 fiddle 中,如果您单击“#numBnt”,您会看到日期没有正确排序。

My fiddle

最佳答案

您需要将带有日期的文本转换为 JS Date 对象,如下所示:

新日期( $(a)​​.find("h2").text() )

Updated fiddle

JS:

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) {
// here is the change:
return new Date($(a).find("h2").text()) - new Date($(b).find("h2").text());
});
$("#container").html(numericallyOrderedDivs);
});

尝试使用不同的日期来测试 fiddle 。

也过去了this answer .


编辑:

针对 Firefox 的修复:

Firefox 不喜欢 . 作为日期的分隔符。需要用/代替。

新日期($(a).find("h2").text().replace(/\./g, '/'))

Updated fiddle for Firefox.

Source

关于javascript - 使用 "."而不是 ","正确排序 div 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747806/

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