jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。jQuery 的可排序元素通常是通过 jQuery UI 或其他插件实现的,这些插件允许用户通过拖放等方式重新排列元素的顺序。
jQuery 可排序元素的类型主要包括:
<ul>
或 <ol>
中的 <li>
元素。<table>
中的行或列。如果将 jQuery 可排序元素从一个父元素移动到另一个父元素,如何获取原始父元素的 ID?
当元素从一个父元素移动到另一个父元素时,原始父元素的引用可能会丢失,导致无法直接获取其 ID。
可以通过在元素上设置自定义数据属性(data-*)来存储原始父元素的 ID,然后在移动元素后读取该属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Sortable Example</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<style>
.sortable {
list-style-type: none;
margin: 0;
padding: 0;
width: 60%;
}
.sortable li {
margin: 0 3px 3px 3px;
padding: 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
height: 18px;
}
</style>
</head>
<body>
<ul id="sortable1" class="sortable">
<li id="item1" data-parent-id="sortable1">Item 1</li>
<li id="item2" data-parent-id="sortable1">Item 2</li>
<li id="item3" data-parent-id="sortable1">Item 3</li>
</ul>
<ul id="sortable2" class="sortable"></ul>
<script>
$(function() {
$("#sortable1").sortable({
connectWith: "#sortable2",
update: function(event, ui) {
var movedItem = ui.item;
var originalParentId = movedItem.data("parent-id");
console.log("Original Parent ID: " + originalParentId);
}
});
$("#sortable2").sortable({
connectWith: "#sortable1",
update: function(event, ui) {
var movedItem = ui.item;
var originalParentId = movedItem.data("parent-id");
console.log("Original Parent ID: " + originalParentId);
}
});
$(".sortable").disableSelection();
});
</script>
</body>
</html>
通过这种方式,即使元素从一个父元素移动到另一个父元素,也可以轻松获取其原始父元素的 ID。
领取专属 10元无门槛券
手把手带您无忧上云