Javascript Can';当我交换表行时,我不能在JQuery函数中交换数字

Javascript Can';当我交换表行时,我不能在JQuery函数中交换数字,javascript,jquery,Javascript,Jquery,我创建了一个jquery函数,它允许我单击向上箭头,并交换表中的行。我每行都有排名数字。但我只能让点击的号码改变。我要两个号码互换。我知道这是一件在上面获得价值的事情。我只是不知道如何得到上面那一行的值。现在还没有定义 注意:我最终希望向下箭头也能切换,但现在只是想让它工作。为什么不这样做: if ( $target.length && direction === "up" ) { $original.after($target) } else if( $tar

我创建了一个jquery函数,它允许我单击向上箭头,并交换表中的行。我每行都有排名数字。但我只能让点击的号码改变。我要两个号码互换。我知道这是一件在上面获得价值的事情。我只是不知道如何得到上面那一行的值。现在还没有定义

注意:我最终希望向下箭头也能切换,但现在只是想让它工作。

为什么不这样做:

if ( $target.length && direction === "up" ) {
    $original.after($target)    
}
else if( $target.length ) {
    $original.before($target);
}

为此,我将您的
cnt
属性转换为数据属性

编辑:将JS代码片段更新为@tripleb的建议:
之前
之后
。。而不是插入和更改箭头的值


示例代码段
$('.change rank.up')。单击(函数(ev){
var$original=$(this),
$target=$original.prev();
如果($target.length){
var cnt=$original.data('cnt'),
targetcnt=$target.data(“cnt”);
if(targetcnt){
$original.after($target);
警报(targetcnt);
}
}
});
$('.change rank.down')。单击(函数(ev){
var$original=$(this),
$target=$original.next();
如果($target.length){
var cnt=$original.data('cnt'),
targetcnt=$target.data(“cnt”);
if(targetcnt){
$original.before($target);
警报(targetcnt);
}
}
});
。更改排名。向上:在{
内容:属性(数据图标);
}
.change rank.down:在{
内容:属性(数据图标);
}

等级
用户名
1.
乔伊
2.
兰迪
3.
鲍比
4.
杰西

那么小提琴中的上下箭头在哪里?如果要在自定义属性中存储值。。更好地使用数据属性,使用jQuery.data(),它使用数据对象并执行数据属性。。哦,该死,我把JSFIDLE链接放错了。我编辑了这个问题并修正了它。应该是:使用jquery,如果在一个位置插入元素,它会将其从上一个位置移动position@Thread7,没问题。。请注意,我还将
数据图标
属性放在了超链接上。。这是不必要的,但我建议使用FontAwesome或类似的css图标库/解决方案。。这些资产通常仅由html
class
属性引用。我添加了css
:after
:before
伪字符来暗指这种下划线模式。
if ( $target.length && direction === "up" ) {
    $original.after($target)    
}
else if( $target.length ) {
    $original.before($target);
}