簡體   English   中英

表格排序不正常

[英]Table sorting isn't working properly

我遇到了我無法理解和理解的奇怪內容。

我正在嘗試對表格進行排序(升序/降序)-事實是,它不應該按預期工作。 我試過調試,但仍然不知道為什么盡管代碼正確(我認為),但它仍然不起作用。

這是我使用的教程代碼

一切在教程中都很好,對我來說沒有任何效果。

這是排序前的表格:

這是我排序后的表(據說是升序的):

我的代碼與本教程中的代碼完全相同,但我對原始函數沒有做任何更改。

在調試過程中,我注意到問題似乎出在這一行:

if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase())

它在第一次迭代中返回true(並且不應該,因為那是因為我的表行``學習ReactJs''移到了底部,而``Zinish前端項目''被移到了表的第一位)

我嘗試將``較大''符號更改為``較低''符號,但這無濟於事。 我也嘗試添加:

if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
  shouldSwitch = true;
  break;
 } else { shouldSwitch = false;}

但這也無濟於事。 我不知道為什么它不起作用。 請幫忙..

編輯:這是我的表筆與功能本身

https://codepen.io/anon/pen/rJQJKx

edit2:在筆中應該有i = 0,而不是for循環中的i = 1,但仍然不能解決排序問題。

這是因為您的某些單元格值包含前導空格,而其他一些則不包含:

<td> Zinish frontend project.</td>

<td>Finish my bachelor work by the end of this week otherwise they will kick me.</td>

因此,當然第一個要比第二個先排序,因為空格字符“小於”任何實際字母。

從HTML中刪除這些空格-或在比較它們之前修剪兩個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM