我有一堆嵌套的複選框。我想選擇所有複選框,並在該集合中首先使用「最深」的元素。考慮下面的html:jQuery遍歷順序 - 深度優先
<div id="selection"></div>
<div>
<label>A: <input id="a" type="checkbox" /></label><br/>
<div>
<label>B: <input id="b" type="checkbox" /></label><br/>
<label>C: <input id="c" type="checkbox" /></label><br/>
</div>
<label>D: <input id="d" type="checkbox" /></label><br/>
<label>E: <input id="e" type="checkbox" /></label><br/>
<div>
<label>F: <input id="f" type="checkbox" /></label><br/>
<label>G: <input id="g" type="checkbox" /></label><br/>
<div>
<label>H: <input id="h" type="checkbox" /></label><br/>
<label>I: <input id="i" type="checkbox" /></label><br/>
</div>
</div>
<label>J: <input id="j" type="checkbox" /></label><br/>
</div>
我使用jQuery的一些打印的選擇順序:
var x = '';
$('input').each(function(){
x += $(this).attr('id') + ' - ';
});
$('#selection').text(x.substr(0, x.length - 3));
結果是:a - b - c - d - e - f - g - h - i - j
。
我希望訂單或選定的元素爲I, H, G, F, C, B, J, E, D, A
或H, I, B, C, F, G, A, D, E, J
。我如何重新排序選擇以與我想要的兼容?或者他們是以我想要的方式進行初始選擇的一種方式?
呃...並且爲你所有的小提琴手提供:http://jsfiddle.net/hze3M/4/!發瘋! :d
酷!我正在尋找一種在jQuery中加入或擴展它的方法。我想''('input')。sortByDept()。each('。 – 2011-04-22 13:54:27
看看我的編輯,你有另一種實現你在找什麼 – alexl 2011-04-22 16:27:41
Waaaah!Nice !!非常好的確實! – 2011-04-23 08:42:20