我有 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/