按td或span中的值对表进行排序-JQuery-Javascript

时间:2019-03-14 01:10:58

标签: javascript jquery html sorting

我有一个如下表,我希望能够按#个响应,#个喜欢,#个视图的升序进行排序:(最好是通过标签<a>单击一次)

     <table><tbody>
    <tr><td>
       <p class="question-text card-category">Subject 1</p>
       <p class="question-text card-category">Question 1</p>
 <span  style="font-size:0.8rem;">Responses: 4 | likes: 5 | Views: 6</span></td>
</tr><tr>
    <td>
       <p class="question-text card-category">Subject 2</p>
       <p class="question-text card-category">Question 2</p>
       <span  style="font-size:0.8rem;">Responses: 3 | likes: 7 | Views: 5</span></td></tr>

    <td><tr>
       <p class="question-text card-category">Subject 3</p>
       <p class="question-text card-category">Question 3</p>
       <span  style="font-size:0.8rem;">Responses: 4 | likes: 5 | Views: 6</span></td></tr>
    </tbody></table>

1 个答案:

答案 0 :(得分:0)

要对表格元素进行排序,需要在绘制实际表格或跨度之前在数据数组中进行排序。如果要从td或span中的值对其进行排序,则可能应该使用javascript或jquery方法来抓取表值。

一旦获得可排序的数组,(可能是通过抓取,ajax调用或在某处提交而获得了这些数据。)像[{“ a”:“ banana”},{“ b”:“ apple”}]一样,能够使用比较功能,请参见:How to sort strings in JavaScript

将其排序后,绘制带有排序数据的元素。

除非您从其他站点获取数据,否则我不建议您花费很多精力进行抓取。