簡體   English   中英

jQuery向上遍歷並找到

[英]jQuery traverse upwards and find

我有一個表使用jQuery可排序來拖放和排序表中的元素。

將元素放入“可排序行”時,我想從前一個“section-row”中讀取data-id。

我已經設法實現這一點,當行直接放在“section-row”下面的行中,或者下面的2個級別。

第一級:

($(ui.item[0]).closest('tr').prev('.stop-row').data('id');

二級下調:

$(ui.item[0].previousElementSibling).closest('tr').prev('tr.stop-row').data('id');

問題是“section”可以添加任意數量的行,所以我需要某種循環來檢查前一個元素是否是“section-row”,如果沒有,請檢查以下的內容。

我如何用jQuery實現這一目標?

我的表:

<table class="table table-bordered table-responsive">
    <thead>
        <tr>
            <td>Assignment</td>
        </tr>
        <tr>
            <td>Type</td>
        </tr>
        <tr>
            <td>Time</td>
        </tr>
        <tr>
            <td>Level</td>
        </tr>
    </thead>

    <tbody class="sortable">
        <tr class="section-row" data-id="{{ id }}">
            <td> Section-{{ id }}</td>
        </tr>
        <tr class="sortable_row">
            <td>{{ assignment }}</td>
            <td>{{ type }}</td>
            <td>{{ time }}</td>
            <td>{{ level }}</td>
        </tr>
    </tbody>
</table>

你可以這樣做: $(ui.item[0]).closest('tr').prevAll('.section-row:first').data('id');

它將轉到最近的tr ,搜索所有前面的tr並在第一個與類.section-row停止。

暫無
暫無

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

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