javascript - 页面及其子页面中的排序列表

标签 javascript jquery

我有 javascript 可以查找当前页面 url 并对其上的列表进行排序。在子页面上可以找到相同的列表。例如,父页面是《刑法》,但它也有多个子页面:攻击、威胁、家庭暴力等。子页面没有按字母顺序排序列表,我真的不知道该怎么做。我希望我能得到一些关于如何做到这一点的想法。我对 javascript 还很陌生。

var currentPage = document.URL;
    if (currentPage == "http://www.jbplegal.com/criminal-law/") {

var items = $('#gb-simple-page-hierarchy-5 ul li').get();
items.sort(function(a,b){
  var keyA = $(a).text();
  var keyB = $(b).text();

  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

HTML无序列表代码

<aside id="gb-simple-page-hierarchy-5" class="widget gb-page-hierarchy-widget"><h1 class="widget-title"><a href="http://www.jbplegal.com/criminal-law/">Criminal Defense Attorneys</a></h1><ul><li><a href="http://www.jbplegal.com/criminal-law/assault-and-menacing/">Assault and Menacing</a></li><li><a href="http://www.jbplegal.com/criminal-law/felonies/">Charged with Felonies</a></li><li><a href="http://www.jbplegal.com/criminal-law/child-abuse-child-endangerment/">Colorado Child Abuse</a></li><li><a href="http://www.jbplegal.com/criminal-law/controlled-substances/">Controlled Substances</a></li><li><a href="http://www.jbplegal.com/criminal-law/criminal-mischief/">Criminal Mischief</a></li><li><a href="http://www.jbplegal.com/criminal-law/criminal-record-sealing/">Criminal Record Sealing</a></li><li><a href="http://www.jbplegal.com/criminal-law/domestic-violence/">Domestic Violence</a></li><li><a href="http://www.jbplegal.com/criminal-law/failure-to-appear/">Failure to Appear</a></li><li><a href="http://www.jbplegal.com/criminal-law/felony-drug-charges/">Felony Drug Charges</a></li><li><a href="http://www.jbplegal.com/criminal-law/harassment/">Harassment</a></li><li><a href="http://www.jbplegal.com/criminal-law/juvenile-delinquency/">Juvenile Delinquency</a></li><li><a href="http://www.jbplegal.com/criminal-law/marijuana-related-offenses/">Marijuana-Related Offenses</a></li><li><a href="http://www.jbplegal.com/criminal-law/minor-in-possession/">Minor In Possession</a></li><li><a href="http://www.jbplegal.com/criminal-law/misdemeanor-charges/">Misdemeanor Charges</a></li><li><a href="http://www.jbplegal.com/criminal-law/protection-orders/">Protection Orders</a></li><li><a href="http://www.jbplegal.com/criminal-law/sex-offenses/">Sex Offenses</a></li><li><a href="http://www.jbplegal.com/criminal-law/theft-charges/">Theft Charges</a></li><li><a href="http://www.jbplegal.com/criminal-law/trespass/">Trespass</a></li></ul></aside>

最佳答案

我想你可以使用items.sort() 在您的代码中,在将页面子级的所有值附加到另一个列表后,自动让 JavaScript 按顺序对其进行排序。

例如,

var values = [];
for (var i=0; i < items.length;i++) {
    values.append($(items[i]).text())
}
values.sort()
// Sorted values "Assault", "Domestic Violence", etc.

唯一的其他解决方法是使用允许对列表进行稳健排序的库。

关于javascript - 页面及其子页面中的排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34757336/

相关文章:

javascript - 转义 meteor react 中的html标签

从 google CDN 使用 Jquery UI 日期选择器时很难看

javascript - 检测用户是否单击 Canvas 内的任何圆圈

javascript - 检查 div 的长度(不包括空格)

javascript - jquery:预填充自动完成字段

javascript - 将 JS/css 信息传递给表单的最佳方式

javascript - Firebase 可调用函数不起作用

javascript - jQUery/JavaScript 如何 --> 将图像幻灯片转换为文字幻灯片

javascript - Azure AD 何时使用 API 权限与公开 API

javascript - 如何检查 ng-repeat 中的数据类型