我有一个行大小不确定的表。 每行都有UP和DOWN按钮。 点击向上或向下按钮,我想重新排序。
以下是现在的代码。
<table>
<tr id="row1">
<td>Text 1</td>
<td><button id="buttonUp1">buttonUp1</button></td>
<td><button id="buttonDown1">buttonDown1</button></td>
</tr>
<tr id="row2">
<td>Text 2</td>
<td><button id="buttonUp2">buttonUp2</button></td>
<td><button id="buttonDown2">buttonDown2</button></td>
</tr>
<tr id="row3">
<td>Text 3</td>
<td><button id="buttonUp3">buttonUp3</button></td>
<td><button id="buttonDown3">buttonDown3</button></td>
</tr>
</table>
jQuery代码:
$('#buttonUp2').click(function(){
var current = $('#row2');
current.prev().before(current);
});
$('#buttonDown2').click(function(){
var current = $('#row2');
current.next().after(current);
});
现在,我在jQuery代码中硬编码了“#buttonUp2”,“#row2”和“#buttonDown2”。 但它需要适用于其他人,如'#buttonUp1','#buttonUp3','#buttonDown1'...... 由于大小不确定,因此不太可能对所有情况进行硬编码。
有没有办法在jQuery中使用正则表达式?
感谢。
埃里克
答案 0 :(得分:0)
使用课程:
HTML:
<table>
<tr id="row1">
<td>Text 1</td>
<td><button class="buttonUp">buttonUp1</button></td>
<td><button class="buttonDown">buttonDown1</button></td>
</tr>
<tr id="row2">
<td>Text 2</td>
<td><button class="buttonUp">buttonUp2</button></td>
<td><button class="buttonDown">buttonDown2</button></td>
</tr>
<tr id="row3">
<td>Text 3</td>
<td><button class="buttonUp">buttonUp3</button></td>
<td><button class="buttonDown">buttonDown3</button></td>
</tr>
</table>
JQuery的:
$('.buttonUp').click(function(){
var current = $(this).parent().parent();
current.prev().before(current);
});
$('.buttonDown').click(function(){
var current = $(this).parent().parent();
current.next().after(current);
});