按子元素 - jQuery 的数据 ID 对 li 进行排序
Sort li by data-id of child element - jQuery
所以我正在尝试按每个<li>
中子元素的data-id属性对无序列表进行排序。如何定位此元素以按其值排序?
这是我当前的代码:
$("#sort_popularity").live("click", function() {
var listitems = list.children('li').get();
listitems.sort(function(a, b) {
var compA = $(a).("#subject_popularity");
var compB = $(b).("#subject_popularity");
return compA < compB;
});
$.each(listitems, function(index, item) {
list.append(item); // (List is defined elsewhere in my code)
});
});
.HTML:
<a href="#" id="sort_popularity">Sort</a>
<ul>
<li><span id="popularity" data-id="10">10</li>
<li><span id="popularity" data-id="20">20</li>
<li><span id="popularity" data-id="5">5</li>
</ul>
// for ASC.
var lis = $('ul li');
lis.sort(function(a, b) {
return parseInt($('span', a).data('id'), 10) > parseInt( $('span', b).data('id'), 10);
});
$('ul').html(lis);
和
// for DESC.
var lis = $('ul li');
lis.sort(function(a, b) {
return parseInt( $('span', a).data('id'), 10) < parseInt( $('span', b).data('id'), 10);
});
$('ul').html(lis);
注意
更改 span
s 的 id
,多个span
没有相同的id
并关闭您的 span
标签(可能是拼写错误)。
相关文章:
- 在jQuery UI中获取ul和li值,拖放即可排序
- 对具有相同类级别的不同li元素进行排序
- jQueryUI可排序-从可排序列表中删除li
- 我的Javascript(用于在ul中重新排序li)在IE中不起作用
- 按子元素 - jQuery 的数据 ID 对 li 进行排序
- 根据不同长度的数据属性对无序列表中的 li 进行排序(无 jquery)
- 使用 jQuery 对 li 进行排序
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 排序并将 li 附加到 UL ASC
- 使用 JavaScript 或 jQuery 对 li 元素进行排序
- 如何通过单击链接或按钮重新排序ul-li列表
- 如何在javascript中获取当前ul li的长度,当我尝试对它们进行排序时
- 根据Datetime属性对LI元素进行排序
- yii2 ul-li菜单排序与foreach值
- 根据数字Id对li标签进行排序
- 重新排序ul li与图像
- 排序HTML "LI"按重复次数和字母顺序排列
- 排序列表ul->不同id的函数中的li
- 使用 JavaScript 对 li 元素重新排序
- 按 id 值对 li 进行排序