[英]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.