搜索

首页  >  问答  >  正文

javascript - 一个关于jquery选择器的问题

现在有一个表格,每一个 tr 都有一个数字作为 class 假设选中了一个 tr 如何获取 class 小于等于选中 tr 的所有 tr?

伊谢尔伦伊谢尔伦2770 天前948

全部回复(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
  • 取消回复