Jquery 是否存在用于交换表行(包括这些行中输入元素的属性)的快捷方式

Jquery 是否存在用于交换表行(包括这些行中输入元素的属性)的快捷方式,jquery,Jquery,是否存在用于交换表行(包括这些行中输入元素的属性)的快捷方式 编辑:实际上我不需要交换属性,但我需要交换这些属性中的值。 我的系统在属性和保存顺序之间有一些联系。 属性就像 a[0],b[0],c[0] etc., a[1],b[1],c[1] etc., 所以在交换之后,我需要交换值。 编辑没有快捷方式,因为我从未见过一个UI,在这个UI中,突然将用户输入的数据保存到另一个地方是有意义的 示例:我有一个表,您可以在其中输入您的名字和姓氏。由于人们有首选项,首先输入哪个值,我可以向我的UI添加

是否存在用于交换表行(包括这些行中输入元素的属性)的快捷方式


编辑:实际上我不需要交换属性,但我需要交换这些属性中的值。 我的系统在属性和保存顺序之间有一些联系。 属性就像

a[0],b[0],c[0] etc.,
a[1],b[1],c[1] etc.,
所以在交换之后,我需要交换值。

编辑没有快捷方式,因为我从未见过一个UI,在这个UI中,突然将用户输入的数据保存到另一个地方是有意义的

示例:我有一个表,您可以在其中输入您的名字和姓氏。由于人们有首选项,首先输入哪个值,我可以向我的UI添加一个首选项,允许他们交换这两行。但是姓氏(UI)仍然会进入姓氏(数据库),而姓氏(UI)会进入姓氏(数据库)。交换行不会突然将姓氏与姓氏联系起来

不要交换元素的属性,只需更改DOM中表行的顺序:

row.insertBefore(row.prev());

这将移动所有内容并保持自定义属性不变。

我没有任何快捷方式,但下面的代码给出了我想要的结果

jQuery("body").on("click",".up,.down",function(){
        var current_row = $(this).parents("tr:first");
        if ($(this).is(".up")) {
            if(current_row.prev().find("th").length==0){ //If this is title row
                row_need_to_replace    =   current_row.prev();
            }
        } else {
            row_need_to_replace    =   current_row.next();
        }
        if(row_need_to_replace.find("input,textarea").length>0)
        {
          var i=0;
          current_row.find(":input").each(function(){
            input_need_to_replace=row_need_to_replace.find(":input :eq("+i+")");
            temp   =   input_need_to_replace.val();
            input_need_to_replace.val($(this).val());
            $(this).val(temp);                
            i++;
          });
        }
    });

为什么需要交换ID?当用户的数据突然保存到另一个地方时,用户不会感到困惑吗?实际上,我不需要交换属性,但我需要交换这些属性中的值。我的系统在属性和保存顺序之间有一些联系。属性类似于a[0]、b[0]、c[0]a[1]、b[1]、c[1],因此在交换之后,我需要交换值。请检查我的编辑