javascript - 按跨度内容排序 ul 列表

标签 javascript html sql-order-by html-lists

我真的迷失了尝试按 li 中的跨度对 ul 列表进行排序。

我有下一个结构

<ul id="videosList">
  <li class="response1">
    <a href="link"><img src="moon" /><span>Alex breaking bad</span>
      <li>
        <li class="response1">
          <a href="link"><img src="moon" /><span>Jason playing piano</span>
            <li>
              <li class="response1">
                <a href="link"><img src="moon" /><span>Jenny skying</span>
                  <li>
                    <li class="response1">
                      <a href="link"><img src="moon" /><span>Chuck norris</span>
                        <li>
                          <li class="response1">
                            <a href="link"><img src="moon" /><span>Zyxwaa</span>
                              <li>
                                <li class="response1">
                                  <a href="link"><img src="moon" /><span>Realtek</span>
                                    <li>

                                      <li class="response2">
                                        <a href="link"><img src="moon" /><span>Bad alex breaking</span>
                                          <li>
                                            <li class="response2">
                                              <a href="link"><img src="moon" /><span>Piano playing Jason</span>
                                                <li>
                                                  <li class="response2">
                                                    <a href="link"><img src="moon" /><span>Skying Jenny</span>
                                                      <li>
                                                        <li class="response2">
                                                          <a href="link"><img src="moon" /><span>Norris chuck</span>
                                                            <li>
                                                              <li class="response2">
                                                                <a href="link"><img src="moon" /><span>Intel</span>
                                                                  <li>
</ul>

我有从一些上传的视频中生成的列表并分开,因为 respnse1 从 X 数据库中获取视频,而 response 从 Y 数据库中获取视频。我想做的是根据 LI 中 SPAN 的内容对列表进行排序。

我尝试了 Google 和 Stack Overflow 的一些东西,但我无法调整任何 1 来满足我的需要。

就是这样,我如何通过 LI 中 SPAN 的内容使用 JavaScript/jQuery 对列表进行排序?

最佳答案

有效!...

var list = $("ul#videosList");
var desc= false;
list.append(list.children().get().sort(function(a, b) {
    var aProp = $(a).find("span").text(),
        bProp = $(b).find("span").text();
    return (aProp > bProp ? 1 : aProp < bProp ? -1 : 0) * (desc ? -1 : 1);
}));

关于javascript - 按跨度内容排序 ul 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619233/

相关文章:

javascript - 将变量从 javascript 传递到 ejs

javascript - IIFE 实际上是从哪里调用的?

MySQL - 联合和排序/排序行

JavaScript 倒计时

jquery - 如何使用jquery选择具有相同名称的连续div中的所有元素

javascript - 在 jQuery 中停止项目多次滑动

javascript - 更改滚动条上的导航栏

php - 在 codeigniter 中使用 Order By

mysql - SQL 查询中的 ORDER BY 子句

javascript - 在 JQuery 中切换可见性