找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 108|回复: 0

JS将鼠标选中一个LI标签排在最前面

[复制链接]

2

主题

1

回帖

28

积分

管理员

积分
28
发表于 2025-8-23 09:26:07 | 显示全部楼层 |阅读模式
在Discuz二次开发中,有这么一个分类需求,UL中有多个LI,并且LI中有<A>标签,当用户点击这个A标签中的某一个时,需要将这个点击的LI标签元素移到最前面。

  1. <ul class="cl tbmu brand-list collapsed" style="max-height: 30px; overflow: hidden; transition: max-height 0.3s;">
  2.                     <li class="a"><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;filter=sort&amp;comcategory=all" class="xi2" style="font-weight: 800;">不限</a></li>
  3. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=5" class="xi2">知识_经验</a></li>
  4. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=7" class="xi2">技术_讨论</a></li>
  5. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=8" class="xi2">资料_电路图</a></li>
  6. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=10" class="xi2">固件</a></li>
  7. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=1" class="xi2">评测(详细)</a></li>
  8. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=6" class="xi2">实测(简单)</a></li>
  9. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=3" class="xi2">制作_改装</a></li>
  10. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=2" class="xi2">维修</a></li>
  11. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=4" class="xi2">校准_调试</a></li>
  12. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=9" class="xi2">展示_拆机</a></li>
  13. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=998" class="xi2">仪表周边</a></li>
  14. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=1000" class="xi2">其它</a></li>
  15. <li><a href="http://www.dt830.com/forum.php?mod=forumdisplay&amp;fid=37&amp;filter=sortid&amp;sortid=4&amp;searchsort=1&amp;comcategory=1001" class="xi2">求助</a></li>
  16. </ul>
复制代码




下面的代码是查找和移动LI

  1. document.addEventListener('DOMContentLoaded', function() {
  2.     const brandLists = document.querySelectorAll('ul.brand-list');
  3.    
  4.     brandLists.forEach(list => {

  5.                 //得到一个UL中所有的LI,并查找
  6.                 var items_LI=list.getElementsByTagName("li");
  7.                 var liparentNode, newLiFirst;
  8.                 for (var i = 0; i < items_LI.length; i++)
  9.                 {
  10.                         if (items_LI[i].className === "a")
  11.                         {
  12.                                 if(i == 0) break;//选择的就是第一个,不需要处理
  13.                                 
  14.                                 liparentNode = items_LI[i].parentNode;
  15.                                 newLiFirst = items_LI[i];
  16.                                 liparentNode.removeChild(items_LI[i]);
  17.                                 liparentNode.prepend(newLiFirst);
  18.                                 break;
  19.                         }
  20.                 }
  21.                 var items_a=list.getElementsByTagName("a")[0];
  22.                 items_a.style.fontWeight = "800";
  23.                 items_LI[0].className = "a";
  24.     });
  25. });
  26. </script>
复制代码





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|磐实编程网 ( 京ICP备2021027848号-2 )

GMT+8, 2025-10-8 07:43 , Processed in 0.108876 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表