2013-06-28 48 views
0

我有一個選項,選擇HTML的東西。 JS代碼:jQuery不排序我的選項

var inviteds = $('#clientMenuEvents_edit select[name="everybody"]'); 
inviteds.find('option').sort (function(a,b) { 
    return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; 
}); 

我調試的功能,a.innerHTML.toLowerCase()給人的字符串,但它只是不能下令名單,沒有任何反應。每個人都這樣做 - 但它表現得像我沒有做任何事情。

+0

你想結果集或DOM中元素的順序排序? –

+0

的選項。那麼我想你的意思是「這個dom中的元素」 –

回答

4

您正在對元素進行排序,但排序隻影響元素集,而不影響DOM。如果您使用.append()將設置放回到select元素中,它們將按排序順序添加。

inviteds.find('option').sort (function(a,b) { 
    return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; 
}).appendTo(inviteds); 

演示:http://jsfiddle.net/CAZCf/1/