gpt4 book ai didi

javascript - 使用 JQuery 按属性对 DIV 进行排序

转载 作者:行者123 更新时间:2023-11-28 13:14:59 25 4
gpt4 key购买 nike

我正在尝试使用按钮对使用自定义属性的多个 DIV 进行排序。我正在关注this example但无法使其与自定义属性一起使用。我知道我访问属性的方式可能有问题,但不确定如何修复它。

我的 HTML 是:

<button id="opBnt">OP</button>      
<button id="inBnt">IN</button>
<div id="collapsible" class="panel-collapse">
<div id="1" class="superduper" data-sort-op="0.4" data-sort-in="0.1">a</div>
<div id="2" class="superduper" data-sort-op="0.2" data-sort-in="0.8">b</div>
<div id="3" class="superduper" data-sort-op="0.3" data-sort-in="0.3">c</div>
</div>

JS:

var $divs = $("div.superduper");
$('#opBnt').on('click', function () {
var opOrder = $divs.sort(function (a, b) {
return $(a).getAttribute('data-sort-op') > $(b).getAttribute('data-sort-op');
});
$("#collapsible").html(opOrder);
});

$('#inBnt').on('click', function () {
var inOrder = $divs.sort(function (a, b) {
return $(a).getAttribute('data-sort-in') > $(b).getAttributel('data-sort-in');
});
$("#collapsible").html(inOrder);
});

Fiddle

最佳答案

  1. sort 函数应返回 -1, 0, 1 值。
  2. 您可以使用data函数访问data-*属性。

检查这个例子:

var $divs = $("div.superduper");
$('#opBnt').on('click', function () {
var opOrder = $divs.sort(function (a, b) {
return $(a).data('sort-op') < $(b).data('sort-op') ? -1 : 1;
});
$("#collapsible").html(opOrder);
});

$('#inBnt').on('click', function () {
var inOrder = $divs.sort(function (a, b) {
return $(a).data('sort-in') < $(b).data('sort-in') ? -1 : 1;
});
$("#collapsible").html(inOrder);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="opBnt">OP</button>
<button id="inBnt">IN</button>
<div id="collapsible" class="panel-collapse">
<div id="1" class="superduper" data-sort-op="4" data-sort-in="1">a</div>
<div id="2" class="superduper" data-sort-op="2" data-sort-in="8">b</div>
<div id="3" class="superduper" data-sort-op="3" data-sort-in="3">c</div>
</div>

关于javascript - 使用 JQuery 按属性对 DIV 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39292824/

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