本文介绍了将行放入变量中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下格式的客户资料:
< table id =t01>
< tr>
< th> HEAD 1< / th>
HEAD 2< th>
< th> HEAD 3< / th>
< / tr>
< tr id =Grp1>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< / tr>
< tr>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< / tr>
< tr>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< td> Grp1资料< / td>
< / tr>
< tr id =Grp2>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< / tr>
< tr>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< / tr>
< tr>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< td> Grp2资料< / td>
< / tr>
< tr id =Grp3>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< / tr>
< tr>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< / tr>
< tr>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< td> Grp3资料< / td>
< / tr> ...
< / table>
并且必须上下移动行取决于某些条件。这是我的js代码:
if(val == valX){
$(#Grp2)。 after($(#Grp1))//这将只保存一个tr。
//移动所有Grp1数据行并在Grp2数据之后设置
}
if(val == valy){
//移动所有Grp2数据行所有行的顶部
}
if(val == valz){
//移动所有行的顶部的所有Grp3数据行
}。 ..
因为我的问题是:
- 我怎样才能一次移动所有三行?
- 如何在一个像 combined = $(#Grp1)+ $(#Grp1)。next()+ $(#Grp1)。next();
注意 - 由于Html结构也用于其他目的。由于我无法更改HTML中的任何结构 您可以使用将元素添加到jQuery集合中:
var combined = $(#Grp1)。add($(#Grp1)。nextUntil(#Grp2));
一种等效的方式是使用 .addBack
:
var combined = $(#Grp1)。nextUntil(#Grp2)。addBack();
I have our client data in following format :
<table id="t01">
<tr>
<th>HEAD 1</th>
<th>HEAD 2</th>
<th>HEAD 3</th>
</tr>
<tr id="Grp1">
<td>Grp1 data</td>
<td>Grp1 data</td>
<td>Grp1 data</td>
</tr>
<tr>
<td>Grp1 data</td>
<td>Grp1 data</td>
<td>Grp1 data</td>
</tr>
<tr>
<td>Grp1 data</td>
<td>Grp1 data</td>
<td>Grp1 data</td>
</tr>
<tr id="Grp2">
<td>Grp2 data</td>
<td>Grp2 data</td>
<td>Grp2 data</td>
</tr>
<tr>
<td>Grp2 data</td>
<td>Grp2 data</td>
<td>Grp2 data</td>
</tr>
<tr>
<td>Grp2 data</td>
<td>Grp2 data</td>
<td>Grp2 data</td>
</tr>
<tr id="Grp3">
<td>Grp3 data</td>
<td>Grp3 data</td>
<td>Grp3 data</td>
</tr>
<tr>
<td>Grp3 data</td>
<td>Grp3 data</td>
<td>Grp3 data</td>
</tr>
<tr>
<td>Grp3 data</td>
<td>Grp3 data</td>
<td>Grp3 data</td>
</tr>...
</table>
And have to move the rows up and down depends upon some condition. Here is my js code:
if(val == valX){
$("#Grp2").after($("#Grp1"))// This will hold only one tr.
// move all Grp1 data rows and set after Grp2 data
}
if(val == valy){
// move all Grp2 data rows on the top of all the rows
}
if(val == valz){
// move all Grp3 data rows on the top of all the rows
}...
Since my question is:
- How can I move all three rows at a time up or down OR
- How can I get group of 3 rows in a variable like
combined = $("#Grp1") + $("#Grp1").next() + $("#Grp1").next();
Note- As the Html structure is also used for some other purposes. Since I can not change any structure in the HTML
解决方案
You can use .add
to add elements to a jQuery collection:
var combined = $("#Grp1").add($("#Grp1").nextUntil("#Grp2"));
An equivalent way is with .addBack
:
var combined = $("#Grp1").nextUntil("#Grp2").addBack();
这篇关于将行放入变量中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!