按升序和降序对带有 ID 的 DIV 进行排序
Sorting DIV with IDs in ascending and descending order
>我在尝试在 HTML/CSS/JAVASCRIPT 中按升序和降序对内容进行排序的按钮列表时遇到问题(即。食蚁兽、狒狒、猫...
最初,我想使用我的 BUTTON ID 进行排序,但我无法解决。
我在网上查找了一些使用 DIV/按钮内的文本工作的代码,但代码在我的页面上无法正常工作。
下面是工作的示例代码:
var $divs = $("button.bingo_button_4");
$('#alphBnt').on('click', function() {
var alphabeticallyOrderedDivs = $divs.sort(function(a, b) {
return $(a).find("h1").text() > $(b).find("h1").text();
});
$("#bingo_width_x").html(alphabeticallyOrderedDivs);
});
$('#numBnt').on('click', function() {
var numericallyOrderedDivs = $divs.sort(function(a, b) {
return $(a).find("h1").text() < $(b).find("h1").text();
});
$("#bingo_width_x").html(numericallyOrderedDivs);
});
body {
background: #eee;
font-family: sans-serif;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button id="alphBnt">Ascending</button>
<button id="numBnt">Descending</button>
<div id="bingo_width_x">
<button class="bingo_button_4">
<h1>B</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>A</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>D</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>C</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>E</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>F</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>G</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>H</h1><DIV>asdf</DIV>
</button>
<button class="bingo_button_4">
<h1>U</h1><DIV>asdf</DIV>
</button>
</div>
这是我的代码:
function order_bingo_item(text_order)
{
var order_type = text_order;
var $divs = $("button.bingo_button_4");
if (order_type=='ascending')
{
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(a).find("idn").text() > $(b).find("idn").text();
});
$("#bingo_width").html(alphabeticallyOrderedDivs);
}
else
if (order_type=='descending')
{
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(a).find("idn").text() < $(b).find("idn").text();
});
$("#bingo_width").html(alphabeticallyOrderedDivs);
}
}
.bingo_button_4 idn
{
color: black;
font-size: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button id="alphBnt" onclick=order_bingo_item('ascending');>Ascending</button>
<button id="numBnt" onclick=order_bingo_item('descending');>Descending</button>
<div id="bingo_width" class="bingo_width" style="border:solid 2px; width:px;">
<button id="ID_grid_101_3_user" class="bingo_button_4">
<idn>3</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
bear
</div>
</button>
<button id="ID_grid_101_0_user" class="bingo_button_4">
<idn>0</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
ant-eater
</div>
</button>
<button id="ID_grid_101_15_user" class="bingo_button_4">
<idn>15</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
cobra
</div>
</button>
</div>
基本上,它没有在每个按钮中使用"idn"正确排序每个按钮。 我的按钮列表比这大得多,顺序都是错误的(就像随机顺序一样)。 似乎有什么问题?
试试这个:
function order_bingo_item(text_order)
{
var order_type = text_order;
var $divs = $("button.bingo_button_4");
if (order_type=='ascending')
{
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(a).find("idn").text() - $(b).find("idn").text();
});
$("#bingo_width").html(alphabeticallyOrderedDivs);
}
else
if (order_type=='descending')
{
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(b).find("idn").text() - $(a).find("idn").text();
});
$("#bingo_width").html(alphabeticallyOrderedDivs);
}
}
.bingo_button_4 idn
{
color: black;
font-size: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button id="alphBnt" onclick=order_bingo_item('ascending');>Ascending</button>
<button id="numBnt" onclick=order_bingo_item('descending');>Descending</button>
<div id="bingo_width" class="bingo_width" style="border:solid 2px; width:px;">
<button id="ID_grid_101_3_user" class="bingo_button_4">
<idn>3</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
bear
</div>
</button>
<button id="ID_grid_101_0_user" class="bingo_button_4">
<idn>0</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
ant-eater
</div>
</button>
<button id="ID_grid_101_15_user" class="bingo_button_4">
<idn>15</idn>
<div style="position:relative; width:100%; height:100%; text-align:center;">
cobra
</div>
</button>
</div>
对整数进行排序有点不同。你需要做的
a - b
而不是a > b
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- 添加文字和评论功能更新Div
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 如何通过引用var Using DataTables来进行分页或排序
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 使用JavaScript动态插入DIV的成本有多高
- jQuery - 将元素拖入 DIV / 或可排序元素
- 关于使用jQuery对Div中的内容进行重新排序的问题
- 按内联“样式”属性对 Div 进行排序
- 按属性对Div进行排序-asc或desc
- 在jQuery上更新Div隐藏字段可排序拖放更新
- 使用Jquery/AJAX/Javascript搜索、排序、分页和过滤DIV
- JQUERY进一步排序DIV's A-Z
- 在窗口调整大小时重新排序DIV中的项目
- 帮助将DIV中的属性数据排序捕获为数组?Jquery/Javascript
- 如何按自定义属性的值对 DIV 进行排序
- 按升序和降序对带有 ID 的 DIV 进行排序