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解决方案,但还是谢谢大家了。 展开
<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解决方案,但还是谢谢大家了。 展开
展开全部
没有什么隐藏排序的功能。按照你的想法,直接反映出来的就是自己在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。
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。
展开全部
没有什么隐藏控制排序的功能,也没有可以直接修改序列标识的功能.排序,你只能自己写代码来控制,或是完整重建一个排序好的ul对象替换已经存在的;或是移动li对象到合适的位置;或是交换li的内容到合适的位置.
之前看到那个想用数组来排序的问题不知道是不是你提出来的,思路很有意思,但可惜最终排序的是数组,不会返映到它在HTML文档中的顺序上来.
之前看到那个想用数组来排序的问题不知道是不是你提出来的,思路很有意思,但可惜最终排序的是数组,不会返映到它在HTML文档中的顺序上来.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先获取il的值
存到一个数组里
对数据进行排序
用排序后的结果重构 il
存到一个数组里
对数据进行排序
用排序后的结果重构 il
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询