搜尋

首頁  >  問答  >  主體

javascript - 一個關於jquery選擇器的問題

現在有一個表格,每個 tr 都有一個數字作為 class 假設選取了一個 tr 如何取得 class 小於等於選取 tr 的所有 tr?

伊谢尔伦伊谢尔伦2770 天前949

全部回覆(5)我來回復

  • 怪我咯

    怪我咯2017-05-18 10:47:42

    只能循環選取了,數字大小是多少啊

    回覆
    0
  • 怪我咯

    怪我咯2017-05-18 10:47:42

    不應該把tr數字當作class,因為tr綁定的class很多,完全可以把數字綁定在data-num上面,大概邏輯就是下面這個,可能部分選擇器寫的不是那麼準確

    html table:

    <table id='example_table'>
        <thead>
            <th>1<th>
            <th>2<th>
            <th>3<th>
        </thead>
        <tbody>
            <tr data-num="1">
                <td>1<td>
                <td>2<td>
            </tr>
            <tr data-num="2">
                <td>1<td>
                <td>2<td>
            </tr>
            <tr data-num="3">
                <td>1<td>
                <td>2<td>
            </tr>
        </tbody>
    </table>

    js:

    $('#example_table tr').on('click', function(e) {
        var select_tr_num = $this.data('num');
        var request_trs = [];
        $.each($('#example_table tr'), function(i, obj) {
            if (!obj.data('num') > select_tr_num) {
                select_tr_num.push(obj);
            }
        });
        console.log(request_trs );
    }); 

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:47:42

    一樓說的很對哈,一般沒有人把class命名為數字,往往都是增加一個自訂屬性

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-18 10:47:42

    遍歷所有class的值,然後比較儲存。 (ps:但是用數字當class,比較不規範吧。)

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-18 10:47:42

    用class排序,然後取得目標tr前面所有的tr

    回覆
    0
  • 取消回覆