javascript能控制li标签的排序么?

现在是这样:<ul><li>01test</li><li>03</li><li>02test</li></ul>我想要li排成这样:<ul><li>01test</li>... 现在是这样:
<ul>
<li>01test</li>
<li>03</li>
<li>02test</li>
</ul>

我想要li排成这样:
<ul>
<li>01test</li>
<li>02test</li>

<li>03</li>
</ul>
li中的内容必须原封不动,我在网上看到有人用拷贝+粘贴的方式排序,但感觉很麻烦,难道这些元素内部没有一个隐藏的控制顺序的序列号么,要是能改这个序列号就好了。另外<ol>标签的序号可以控制么?PS:写JS我比较偏好用jquery.
其实我想写这种JS是为了弥补服务器端程序输出的一个BUG问题,输出来的顺序是随机的,非常头疼,虽然没要找到好的JS解决方案,但还是谢谢大家了。
展开
 我来答
rachelholic
2013-03-12 · TA获得超过400个赞
知道答主
回答量:45
采纳率:0%
帮助的人:61.3万
展开全部
没有什么隐藏排序的功能。按照你的想法,直接反映出来的就是自己在DOM上加class或者id控制,但是排序还是需要你自己写的。但是这样做,你的代码量也非常多。你完全可以用Jquery的
appendTo() 方法,html方法,remove等操作DOM。只要设置好促发条件,其实完全比所谓的排序方式简单。而且你总是改顺序的操作DOM,页面的执行是很差的,用户体验会非常不好。

还有一种看起来很笨但是对代码操作非常好的方法,就是你给你的li添加一些class,这样找的时候比较方便,然后给你的li所有可能的情况都排好序,用add和remove方法给你需要隐藏的地方加一个hide这样的class,然后用CSS给有这个class的DOM隐藏掉。就像这样:
CSS
.hide{display:none;}

HTML
<ul>
<li class=‘a’>01test</li>
<li class='b'>03</li>
<li class='c'>02test</li>
<li class='d hide'>03</li>

</ul>

当然以上对于简单的li结构还是很好的,如果比较复杂,工作量就大了。
但是执行效率绝对高于你改DOM。
缓步莫迟疑C
2013-03-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6520万
展开全部
没有什么隐藏控制排序的功能,也没有可以直接修改序列标识的功能.排序,你只能自己写代码来控制,或是完整重建一个排序好的ul对象替换已经存在的;或是移动li对象到合适的位置;或是交换li的内容到合适的位置.
之前看到那个想用数组来排序的问题不知道是不是你提出来的,思路很有意思,但可惜最终排序的是数组,不会返映到它在HTML文档中的顺序上来.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
推荐于2018-04-26 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3507万
展开全部
先获取il的值
存到一个数组里
对数据进行排序
用排序后的结果重构 il
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式