如何使用jQuery将具有特定类的有序列表项移动到列表顶部?
例如,在以下html代码中:
<div id="notice">click here</div>
<ul>
<li>Coffee</li>
<li>Juice</li>
<li class="top">Tea</li>
<li class="top">Milk</li>
<li>Apple</li>
</ul>
当我单击“单击此处”时,我想将带有“ top”类的主题移到列表的顶部。
<div id="notice">click here</div>
<ul>
<li class="top">Tea</li>
<li class="top">Milk</li>
<li>Coffee</li>
<li>Juice</li>
<li>Apple</li>
</ul>
(可选)当我再次单击“单击此处”时,如果将项目还原到其原始位置,那将是很好的选择。
谢谢你的帮助。
我会利用它data
来跟踪列表是否已排序,但是还有很多其他方法可以做到(我敢肯定还会显示其他答案)。
这是一个快速而肮脏的小提琴。我已经取消了id
,因此您可以在一个页面上支持多个列表。
$('.notice').click(function(){
var $ul = $(this).next('ul');
if(!$ul.data('sorted')){
$ul.data('original', $ul.html());
$ul.data('sorted', true);
$ul.prepend($ul.find('li.top'));
} else {
$ul.data('sorted', false);
$ul.html($ul.data('original'));
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句