Javascript 如何在第一次出现具有已知类名的特定行之后/之前移动行?

Javascript 如何在第一次出现具有已知类名的特定行之后/之前移动行?,javascript,jquery,Javascript,Jquery,我有一个与upArrow相关的JS事件: $('body')。在('click','.UpArrow',函数(事件){ var行=$(this).closest('tr'); row.insertBefore(row.prev()); }); 你在找这样的东西吗?如果您需要将当前tr移动到类“NameServiceRow”正好出现在单击的tr上方的tr,则此代码可能正常工作 $(文档).on('click','.UpArrow',函数(事件){ var行=$(this).closest('tr

我有一个与upArrow相关的JS事件:
$('body')。在('click','.UpArrow',函数(事件){
var行=$(this).closest('tr');
row.insertBefore(row.prev());
});

你在找这样的东西吗?如果您需要将当前tr移动到类“NameServiceRow”正好出现在单击的tr上方的tr,则此代码可能正常工作

$(文档).on('click','.UpArrow',函数(事件){
var行=$(this).closest('tr');
如果(!row.hasClass('NameServiceRow')){
var parentDiv=row.prevAll('.NameServiceRow:first');
行。插入之前(parentDiv);
row.addClass(“NameServiceRow”);
parentDiv.removeClass(“NameServiceRow”);
}
});

-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+

你在找这样的东西吗?如果您需要将当前tr移动到类“NameServiceRow”正好出现在单击的tr上方的tr,则此代码可能正常工作

$(文档).on('click','.UpArrow',函数(事件){
var行=$(this).closest('tr');
如果(!row.hasClass('NameServiceRow')){
var parentDiv=row.prevAll('.NameServiceRow:first');
行。插入之前(parentDiv);
row.addClass(“NameServiceRow”);
parentDiv.removeClass(“NameServiceRow”);
}
});

-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+

以下各项应起作用:

$('body')。在('click','.UpArrow',函数(事件){
var行=$(this).closest('tr');
insertBefore($(“.NameServiceRow”)[0]);
});

^
^
^
^
^

以下各项应起作用:

$('body')。在('click','.UpArrow',函数(事件){
var行=$(this).closest('tr');
insertBefore($(“.NameServiceRow”)[0]);
});

^
^
^
^
^


您的代码似乎适合我。当我点击
UpArrow
时,它会将tr移到上一个上方,我希望它移到类名为“NameServiceRow”的tr上方,而不仅仅是像“row.insertBefore(row.prevAll(.NameServiceRow”)”这样的pervtry上方`它对我不起作用你的代码似乎对我起作用。当我点击
UpArrow
时,它会将tr移到上一个上方,我希望它移到类名为“NameServiceRow”的tr上方,而不仅仅是像“row.insertBefore(row.prevAll(.NameServiceRow”)”这样的pervtry上方`这对梅不起作用,我试过了,这一排就留在原处,它的剂量move@samouray它对我有用。如果单击
运行代码片段
,然后单击第一行下任何行的
^
,会发生什么情况?我已经运行了代码片段,它正在工作,我直接在我的文件上测试了它,没有移动行,我还希望它在此类首次出现之前移动,可能我不清楚,我道歉,我编辑了我的question@samouray好的,我编辑了我的答案来匹配你的新问题。现在应该可以了。+1对于你的回答和评论,我接受了gjijo的asnwer,因为这更像是我所期待的,我感谢你花时间回复Siri,我尝试过了,争论没有改变,它的剂量move@samouray它对我有用。如果单击
运行代码片段
,然后单击第一行下任何行的
^
,会发生什么情况?我已经运行了代码片段,它正在工作,我直接在我的文件上测试了它,没有移动行,我还希望它在此类首次出现之前移动,可能我不清楚,我道歉,我编辑了我的question@samouray好的,我编辑了我的答案来匹配你的新问题。现在应该可以了。+1对于您的回答和评论,我接受了gjijo的asnwer,因为它更像我所期望的,我感谢您花时间回复SirI,可能有很多行的类名为“NameServiceRow”因此,从第一个is中删除它可能会在这种情况下起作用,在这种情况下,我只有一个具有此类名的TR,但如果我有很多这样的TR,它将不起作用,您建议将第一个替换为什么?在单击“向上箭头”时,是否要将该行移动到TR上方的类“NameServiceRow”?@samouray:我已更新了答案。请注意。它起作用了,但我没有使用removeclass/removeclass元素,因为在我的情况下,我需要这些名称保持不变,我接受了你的回答,这非常有用,我可能有很多行的类名为“NameServiceRow”因此,从第一个is中删除它可能会在这种情况下起作用,在这种情况下,我只有一个具有此类名的TR,但如果我有很多这样的TR,它将不起作用,您建议将第一个替换为什么?在单击“向上箭头”时,是否要将该行移动到TR上方的类“NameServiceRow”?@samouray:我已更新了答案。请注意,它起作用了,但我没有使用removeclass/removeclass元素,因为在我的情况下,我需要这些名称保持不变,我接受了你的答案,这非常有用