我正在建立一个自定义公司层次结构,需要能够“提升”一个 Div 在公司图表中的排名。我将触发器作为跨度放置在每个 div 内。点击事件设置为找到父div并与前一个div交换。我的工作正常,问题是:
在此之后,我需要“重置”文档中节点的顺序,以便后续交换脱离新顺序,而不是加载时存在的顺序。
我需要查找交换的 div 在组内的位置,如果它是隐藏包含向上按钮的跨度的系列中的第一个。我会用这个逻辑想象一些东西:
if(event.srcElement.parent().prev() = Null { event.srcElement.parent().hide() }; else { return false; };
我知道语法是错误的,但我是 js 新手,所以请指出我正确的方向。
这是我现在正在使用的代码。就目前而言,如果我将 3 个元素的顺序从 1、2、3 交换到 2、1、3,您会认为单击 3 上的交换会将其切换为现在之前的 1,但它会将其与 2 交换,页面加载时它之前的元素。
<script type="text/javascript">
$(document).ready(function() {
$(".go-swap").click(function() {
$(this).parent().parent().prev().swap({
target: (this).parentNode.parentNode.id,
opacity: "0.5",
speed: 1000,
callback: function() {
event.srcElement.parent().hide()
}
});
});
});
</script>
<div class="known" id="A101">
Contact 1
<span class="plus">
<a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
</span>
</div>
<div class="known" id="A102">
Contact 2
<span class="plus">
<a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
</span>
</div>
<div class="known" id="A103">
Contact 3
<span class="plus">
<a href="javascript://" class="go-swap"><img src="images/uparrow.gif" border="0" /></a>
</span>
</div>