如何根据每个LI.span中的数字对列表进行排序?

and*_*ick 9 javascript sorting jquery

我正在尝试根据每个LI中跨度中的数字对LI列表进行排序.我看过可以做到这一点的插件,但这不是我想要的.

有人可以告诉我你如何对我上面所述的简单列表进行排序吗?我真的不知道从哪里开始,我不知道它是复杂还是简单.

这是我的代码:

ul {
  width: 200px;
  background-color: #252525;
  padding: 10px;
}

li {
  background-color: #353535;
  margin: 10px;
  padding: 5px;
  color: #fff;
}

li span {
  float: right;
}
Run Code Online (Sandbox Code Playgroud)
<ul>

  <li> Cups
    <span>12</span>
  </li>

  <li> Plates
    <span>18</span>
  </li>

  <li> Forks
    <span>03</span>
  </li>

  <li> Knives
    <span>06</span>
  </li>

  <li> Bowls
    <span>08</span>
  </li>

</ul>
Run Code Online (Sandbox Code Playgroud)

Ret*_*old 6

这是你应该使用的:

function sortEm(a, b) {
  return parseInt($('span', a).text()) < parseInt($('span', b).text()) ? 1 : -1;
}

$('li').sort(sortEm).prependTo($('ul#test'));
Run Code Online (Sandbox Code Playgroud)
ul {
  width: 200px;
  background-color: #252525;
  padding: 10px;
}

li {
  background-color: #353535;
  margin: 10px;
  padding: 5px;
  color: #fff;
}

li span {
  float: right;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="test">

  <li> Cups
    <span>12</span>
  </li>

  <li> Plates
    <span>18</span>
  </li>

  <li> Forks
    <span>03</span>
  </li>

  <li> Knives
    <span>06</span>
  </li>

  <li> Bowls
    <span>08</span>
  </li>

</ul>
Run Code Online (Sandbox Code Playgroud)