首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >重新排序列表元素- jQuery?

重新排序列表元素- jQuery?
EN

Stack Overflow用户
提问于 2010-06-16 05:03:04
回答 6查看 63K关注 0票数 59

是否可以使用JavaScript或纯jQuery对<li>元素进行重新排序。因此,如果我有一个愚蠢的列表,如下所示:

代码语言:javascript
运行
AI代码解释
复制
<ul>
    <li>Foo</li>
    <li>Bar</li>
    <li>Cheese</li>
</ul>

我该如何移动列表元素?例如,将带有Cheese的列表元素放在带有Foo的列表元素之前,或者将Foo移到Bar之后。

有可能吗?如果是这样的话,是怎么做的?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-06-16 06:22:30

代码语言:javascript
运行
AI代码解释
复制
var ul = $("ul");
var li = ul.children("li");

li.detach().sort();
ul.append(li);

这是一个简单的示例,其中<li>节点按某种默认顺序进行排序。我调用detach来避免删除任何与li节点相关的数据/事件。

您可以传递一个函数进行排序,也可以使用自定义比较器进行排序。

代码语言:javascript
运行
AI代码解释
复制
li.detach().sort(function(a, b) {
   // use whatever comparison you want between DOM nodes a and b
});
票数 93
EN

Stack Overflow用户

发布于 2013-11-29 10:08:09

如果有人希望通过一次一步地在列表中上下移动元素来对元素进行重新排序……

代码语言:javascript
运行
AI代码解释
复制
//element to move
var $el = $(selector);

//move element down one step
if ($el.not(':last-child'))
    $el.next().after($el);

//move element up one step
if ($el.not(':first-child'))
    $el.prev().before($el);

//move element to top
$el.parent().prepend($el);

//move element to end
$el.parent().append($el);
票数 39
EN

Stack Overflow用户

发布于 2016-04-21 19:28:22

关于jQuery,我最喜欢的事情之一就是它可以如此容易地如此快速地编写微小的附加组件。

在这里,我们创建了一个小插件,它接受一组选择器,并使用它来对目标元素的子元素进行排序。

代码语言:javascript
运行
AI代码解释
复制
// Create the add-on

$.fn.orderChildren = function(order) {
	this.each(function() {
		var el = $(this);
		for(var i = order.length - 1; i >= 0; i--) {
			el.prepend(el.children(order[i]));
		}
	});
	return this;
};


// Call the add-on

$(".user").orderChildren([
	".phone",
	".email",
	".website",
	".name",
	".address"
]);
代码语言:javascript
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="user">
	<li class="name">Sandy</li>
	<li class="phone">(234) 567-7890</li>
	<li class="address">123 Hello World Street</li>
	<li class="email">someone@email.com</li>
	<li class="website">https://google.com</li>
</ul>
<ul class="user">
	<li class="name">Jon</li>
	<li class="phone">(574) 555-8777</li>
	<li class="address">123 Foobar Street</li>
	<li class="email">jon@email.com</li>
	<li class="website">https://apple.com</li>
</ul>
<ul class="user">
	<li class="name">Sarah</li>
	<li class="phone">(432) 555-5477</li>
	<li class="address">123 Javascript Street</li>
	<li class="email">sarah@email.com</li>
	<li class="website">https://microsoft.com</li>
</ul>

该函数向后循环遍历数组,并使用.prepend,以便将任何未选中的元素推送到末尾。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3050830

复制
相关文章
jquery 列表可拖动排序 sortable
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery UI Sortable</title> <style type="text/css"> #myList{ width: 80px; background: #EEE; padding: 5px; list-style: none; } #myList a{ text-decoration: none; color: #0077B0; } #myList a:hover{ text-decoration: underline; } #myList .qlink{ font-size: 12px; color: #666; margin-left: 10px; } </style> </head> <body> <ul id="myList"> <li><a href="#">心情</a></li> <li> <a href="#">相册</a> <a href="#" class="qlink">上传</a> </li> <li> <a href="#">日志</a> <a href="#" class="qlink">发表</a> </li> <li><a href="#">投票</a></li> <li><a href="#">分享</a></li> <li><a href="#">群组</a></li> </ul>
用户5760343
2019/10/10
2.4K0
jquery 列表可拖动排序 sortable
jquery 列表可拖动排序,并把排序发送给后台
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
用户5760343
2019/10/10
1.5K0
jquery 列表可拖动排序,并把排序发送给后台
Python 面试题目—列表元素排序
Python题目:对列表[37,41.12,35,22,98,16,7,45,31]进行排序。
MySQL轻松学
2019/09/06
5450
Python 面试题目—列表元素排序
jQuery 元素操作
jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
星辰_大海
2020/10/09
2.7K0
jQuery 元素操作
jquery 元素尺寸
从上面的示例可以看到,使用width()和height()分别可以获取元素div的width和height的值。
Devops海洋的渔夫
2019/06/02
1.7K0
jQuery 元素操作
​ jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
梨涡浅笑
2022/05/08
1.9K0
jQuery 元素操作
jQuery 元素操作主要讲的是用jQuery方法,操作标签的遍历、创建、添加、删除等操作。
清出于兰
2020/10/26
1.4K0
jQuery 元素操作
20 - 如果列表元素是对象,该如何进行排序
1. 如果列表元素是对象,对这样的列表排序有哪些方法 ? class MyClass: def __init__(self): self.value = 0 ''' def __gt__(self, other): return self.value > other.value ''' def __lt__(self, other): return self.value > other.v
ruochen
2021/05/23
1.1K0
20 - 如果列表元素是对象,该如何进行排序
python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。
zeruns
2020/03/23
1.8K0
列表元素分组
有这样一种场景,有三个列表a、b、c。我们想要把每一个列表中的第一个元素取出来分为一组,第二元素取出来分为一组、第三个元素取出来分为一组,以此类推。该怎么做呢?你可以自己想一想,再来看下面的实现过程。
TalkPython
2019/05/24
1.1K0
jquery 筛选元素 (2)
.add()   创建一个新的对象,元素添加到匹配的元素集合中。   .add(selector)     selector 一个字符串表示的选择器表达式。找到更多的元素添加到匹配的元素集合。       $("p").add("div")   .add(html)     html       HTML片段添加到匹配的元素集合中。         $('li').add('<p id="new"> new paragraph</p>')   .add(elements
用户1197315
2018/01/19
1.3K0
jQuery - 添加元素
jQuery append() 方法在被选元素的结尾插入内容(仍然在该元素的内部)。
陈不成i
2021/07/22
2.7K0
jQuery操作DOM元素
作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。 实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用一些别人封装好的js库来辅助我们的工作,jQuery就是这些辅助库中的一员。
雪飞鸿
2018/09/05
2.7K0
jquery 筛选元素 (3)
.addBack()   添加堆栈中元素集合到当前集合中,一个选择性的过滤选择器。   .addBack([selector])     selector     一个字符串,其中包括一个选择器表达式,匹配当前元素集合,不包括在内的元素。     <ul>       <li>list item 1</li>       <li>list item 2</li>       <li class="third-i
用户1197315
2018/01/19
1.4K0
JQuery生成图片列表
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>生成图片列表</title> 5 <style type="text/css"> 6 *{ margin: 0px; padding: 0px; } 7 .bpp4{ width: 700px; height: 280px; padding-left: 10px; padding-bottom: 10px; border: 1px solid #333333
彼岸舞
2020/09/30
7.8K0
jQuery 选取元素概要
注意: 对于 jQuery 自定义的选择器,为了性能,先用 CSS 定义的选择器选,再从结果集中筛选时用 jQuery 自定义的选择器。如:
前端GoGoGo
2018/08/24
1.3K0
python中列表排序,字典排序,列表中的字典排序
key= lambda dict1:dict1[0] #dict1[0]表示按键,dict1[1]表示按值。
用户8346838
2021/03/10
9.3K0
jquery 筛选元素(1)
.eq()   减少匹配元素的集合为指定的索引的那一个元素。   .eq(index)     index一个整数,指示元素的位置,以0为基数。   $("li").eq(2).css('background-color', 'red')     //选择第三个元素将其 将其背景变成红色。   .eq(-index)     -index 一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。   $("li").eq(-2).css('background-color'
用户1197315
2018/01/19
1.3K0
数列的重新排序
x2<-c("jimmy","nicker","damon","sophie","tony")
用户10325558
2023/02/03
4770
Python 列表排序
本文最先发布在: https://www.itcoder.tech/posts/python-list-sort/
雪梦科技
2020/06/05
1.8K0

相似问题

使用鼠标jquery重新排序列表元素

25

使用jQuery重新排序元素

10

重新排序列表元素

10

jQuery -拖放列表重新排序

32

如何重新排序下拉列表(jquery)

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档