我有一个列表,我想得到它的值,然后排序它。
我只使用了几个LI的下面,列表实际上要大得多,更大;完整的列表包含了下面的sortBy中的所有值。但我认为,为了简单起见,只列出几个比较好。
我只需按照JS sortBy中的顺序对它们进行排序。JS根本没有进行排序。
没有控制台错误或任何类似的性质,只是没有排序。
而不是6M,9M,3M,我要排序(例如) 3M,6M,9M,等等。很简单的概念,我觉得会很简单。但事实证明,这是一项相当繁重的工作。
谢谢。
Javascript:
jQuery(document).ready(function() {
jQuery('ul.linkList').each(function() {
var sortBy = ['Newborn', '3M', '6M', '9M', '12M', '18M', '24M', '2T', '3T', '4T', '4', '5', '6', '6X', '7', '8', '10', '12', '14', '16', '1 SZ', ' 1 SZ 0-3M', '1 SZ 3M-9M', '1 SZ 9M-24M', '1 SZ 2-4', '1 SZ 4-7', '1 SZ 7-16', 'S', 'M', 'L', 'XL', 'Hide extra values', 'View all']; //Values to sort by once data is obtained
var theList = jQuery(this);
var listItems = theList.children('li').get(); //Get values from LI
var numHidden = 0;
listItems.sort(function(a,b) {
var indexA = jQuery.trim(jQuery(a).find('a').text());
var indexB = jQuery.trim(jQuery(b).find('a').text());
indexA = jQuery.inArray(indexA, sortBy);
indexB = jQuery.inArray(indexB, sortBy);
return (indexA < indexB) ? -1 : (indexA > indexB) ? 1 : 0;
});
theList.append(listItems);
});
});HTML:
<ul class="linkList SizeChicklets" id="binValue-2">
<li class="binValue">
<input name="binId" value="size_name" type="hidden">
<input name="binValue" value="0-3 Months" type="hidden">
<a href=".com/s?field_size_name=0-3+Months&ie=UTF8&refinementHistory=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchBinNameList=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchKeywords=*&searchNodeID=5690131011&searchRank=generic-one-desc-rank&searchSize=12" rel="nofollow">
<input type="checkbox">
<span> 6M</span></a>
</li>
<li class="binValue">
<input name="binId" value="size_name" type="hidden">
<input name="binValue" value="10" type="hidden">
<a href=".com/s?field_size_name=10&ie=UTF8&refinementHistory=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchBinNameList=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchKeywords=*&searchNodeID=5690131011&searchRank=generic-one-desc-rank&searchSize=12" rel="nofollow">
<input type="checkbox">
<span> 9M</span></a>
</li>
<li class="binValue">
<input name="binId" value="size_name" type="hidden">
<input name="binValue" value="12" type="hidden">
<a href=".com/s?field_size_name=12&ie=UTF8&refinementHistory=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchBinNameList=subjectbin%2Csize_name%2Cgeneric_text_2-bin%2Cprice%2Cbrandtextbin%2Cgeneric_text_1-bin&searchKeywords=*&searchNodeID=5690131011&searchRank=generic-one-desc-rank&searchSize=12" rel="nofollow">
<input type="checkbox">
<span> 3M</span></a>
</li>
</ul>发布于 2014-09-11 13:51:59
不知道你为什么要写你自己的那类?看看这篇堆叠溢出的文章。How may I sort a list alphabetically using jQuery?
https://stackoverflow.com/questions/25788775
复制相似问题