在繼續,爲javascript sort of HTML elementsJavaScript的HTML元素的排序就地
我想排序在不同<ol>
(最終在<div>
) 排序元素最好應就地而不是unwrap()
,sort()
和wrap
HTML
<ol class="table" style="display: block; ">
<li class="menu__run">I</li>
<li class="menu__run">IXX</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
</ol>
<ol class="table">
<li class="menu__run">I</li>
<li class="menu__run">IXX</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__test">st</li>
<li class="menu__test">st</li>
<li class="menu__test">st</li>
</ol>
的JavaScript
var sort_by_name = function(a, b) {
return a.innerHTML.toLowerCase().localeCompare(b.innerHTML.toLowerCase());
}
var list = $(".table > li").get();
list.sort(sort_by_name);
for (var i = 0; i < list.length; i++) {
list[i].parentNode.appendChild(list[i]);
}
結果我尋找是
<ol class="table" style="display: block; ">
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
</ol>
<ol class="table">
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">I</li>
<li class="menu__run">IXX</li>
<li class="menu__run">IXX</li>
<li class="menu__test">st</li>
<li class="menu__test">st</li>
<li class="menu__test">st</li>
</ol>
讓A,B是DOM元素,並且該列表除了B上的出現降低(下層是文檔中的位置)和值(一)>值(b)然後a和b將被切換到文件中。不管a和b可能不是兄弟姐妹。
問題是什麼?你有工作排序代碼。您可以使用該類型的代碼對列表排序。 – jfriend00 2012-04-17 07:47:51
在什麼地方會有什麼邏輯?似乎隨機... – 2012-04-17 07:53:34
如果我查詢來自不同父母的元素的DOM,我希望他們之間進行排序。 – shevski 2012-04-17 07:54:31