gpt4 book ai didi

javascript - jQuery:根据不同子div的内容对div进行排序

转载 作者:数据小太阳 更新时间:2023-10-29 04:39:28 24 4
gpt4 key购买 nike

我正在尝试创建一个既不使用 div 也不使用列表的有点复杂的排序功能。不幸的是,两个小时的谷歌搜索对我没有帮助。

这是我的 HTML 的基本设置:

                            <div id="all_elements">

<!-- one element -->
<div class="element">
<div class="wrapper">
<a href="/" title="links">
<img src="/img/image.jpg" border="0" alt="image" class="image" /></a>
<div class="details">
<h3><a href="/" title="title">Name (Sort Argument 1)</a></h3>
<div class="title"><a href="/" title="title">Title (Sort Argument 2)</a></div>
<div class="year">2010 (Sort Argumentt 3)</div>
<div class="country">Great Britain (Sort Argument 4)</div>
</div><!-- details -->
</div><!-- wrapper -->
</div><!-- element -->

</div> <!--all_elements-->

设置有点复杂,但基本上 .element 是需要根据 h3、div.title、div.year 或 div.country 的内容按字母顺序排序的元素。因此,用户将能够查看按名称、年份、国家或标题排序的站点内容。

我有一个来自网站的 jQuery 片段,但我所有的尝试都是试图告诉它使用例如的内容h3 排序失败。现在它几乎是随机排序的。

            jQuery.fn.sort = function() {
return this.pushStack([].sort.apply(this, arguments), []);
};
function sortAscending(a, b) {
return a.innerHTML > b.innerHTML ? 1 : -1;
};
function sortDescending(a, b) {
return a.innerHTML < b.innerHTML ? 1 : -1;
};
$(document).ready(function() {
$("#sort").toggle(
function() {
$('#all_elements .element').sort(sortDescending).appendTo('#all_elements');
$(this).text("Sort Asc");
},
function() {
$('#all_elements .element').sort(sortAscending).appendTo('#all_elements');
$(this).text("Sort Desc");
});
});

如何自定义函数来对我的 h3 或 div 的内容进行排序?

最佳答案

试试这些比较函数:

function sortAscending(a, b) {
return $(a).find("h3").text() > $(b).find("h3").text() ? 1 : -1;
};
function sortDescending(a, b) {
return $(a).find("h3").text() < $(b).find("h3").text() ? 1 : -1;
};

关于javascript - jQuery:根据不同子div的内容对div进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501789/

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