1 回答
TA贡献1790条经验 获得超9个赞
您可以获取 ID 列表,对其进行排序,然后确定应将新元素放置在哪个索引处,并将其插入到 element on 之后index - 1:
const $list = $('#product-list');
$('.live_search_product').on('click', function() {
const $this = $(this);
const thisId = +$this.attr('id');
const ids = [];
$list.find('div').each(function() {
ids.push(+$(this).attr('id'));
});
ids.push(thisId);
ids.sort(function(a, b) { return a - b; });
const index = ids.findIndex(function(el) { return el === thisId; });
$this.insertAfter($list.find('div').eq(index - 1));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="78524" class="live_search_product">
Product 78524 info product info product info [click me]
</div>
List:
<div id="product-list">
<div id="78500">
Product 78500 info product info product info
</div>
<div id="78501">
Product 78501 info product info product info
</div>
(id 78524 should come here when clicked)
<div id="78526">
Product 78526 info product info product info
</div>
</div>
添加回答
举报
