jQuery使用正则表达式重新排序具有未确定行大小的表行

时间:2014-08-06 02:55:26

标签: jquery regex

我有一个行大小不确定的表。 每行都有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中使用正则表达式?

感谢。

埃里克

1 个答案:

答案 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);
});