gpt4 book ai didi

javascript - 使用 jQuery 改变元素顺序的最佳方法

转载 作者:行者123 更新时间:2023-11-29 15:02:35 26 4
gpt4 key购买 nike

鉴于以下情况:

<a id="moveElementUp">Move Up</a>
<a id="moveElementDown">Move Dowm</a>

<div id="elementHolder">
<a id="element-1">1</a>
<a id="element-2">2</a>
<a id="element-3">3</a>
<a id="element-4">4</a>
</div>

<script type="text/javascript">
function reOrder (el){
// Change IDs of Elements to be Sequential
}
$('#moveElementUp').click(function(e){
// Move Clicked Element Up One Spot in List

reOrder();
});
$('#moveElementDown').click(function(e){
// Move Clicked Element Down One Spot in List

reOrder();
});
</script>

使用 jQuery 更改元素顺序和更改所有元素的 ID 以保持顺序的最佳(也是最快)方法是什么?

如有任何帮助,我们将不胜感激!

最佳答案

这将使您可以任意重新排列项目。但是,它会删除 anchor 标记之间的空格。您可以通过在 anchor 标记之间添加空格(如我在此处所做的那样:http://jsfiddle.net/FqwDc/1/)或使用嵌套的 div 来解决此问题。

var $sel; // anchor last clicked on
var prefixstr = "element-";

$('a[id^="'+prefixstr+'"]').click(function(e) {
$sel = $(this);
});
$('#moveElementUp').click(function(e) {
// Move Clicked Element Up One Spot in List
$sel.prev().before($sel);
changeIDs($('#elementHolder'));
});
$('#moveElementDown').click(function(e) {
// Move Clicked Element Down One Spot in List
$sel.next().after($sel);
changeIDs($('#elementHolder'));
});

function changeIDs($j) { // renumber the IDs
$j.children('a').each(function(i) {
$(this).attr('id',prefixstr+i);
});
}

关于javascript - 使用 jQuery 改变元素顺序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com