2010-11-01 92 views
2

我无法访问服务器端来更改代码。如何交换tr与jquery的位置

我有以下输出。第二个是税,第三个是税。

现在我想交换它们。首先显示总和,然后用jquery税收。

税额和金额每次都会有所不同。

但税务总是会有'Hvorav mva。 utgjør'和Sum将有Sum的文本,但第一个tr也有Sum。

在此先感谢。

<TR> 
    <TD CLASS="td-menu" COLSPAN="7">Sum</TD> 
    </TR> 
    <TR> 
    <TD CLASS="td-main" COLSPAN="4" ALIGN="right">   
      Hvorav mva. utgjør: 
    </TD> 
    <TD CLASS="td-main" ALIGN="right">551,20</TD> 
    <TD CLASS="td-main" ALIGN="right"> </TD> 
    </TR> 

    <TR> 
    <TD CLASS="td-main" COLSPAN="3"> &nbsp; </TD> 
    <TD CLASS="td-main" ALIGN="right"> Sum : </TD> 
    <TD CLASS="td-main" ALIGN="right">    
     <FONT CLASS="font-pris-uextra">2 756,00</FONT> 
    </TD> 
    <TD CLASS="td-main" ALIGN="right"> 
    </TD> 
    </TR> 

    <TR> 
    <TD CLASS="tdmain-em" COLSPAN="7"> <BR> </TD> 
    </TR> 

回答

3

一个快速(肯定有更好的方法来做到这一点 here is an example in jsbin

,代码:

$(document).ready(function(){ 
    var tax = $("td:contains('Hvorav mva. utgjør')").parent(); 
    var sum = $("td:contains('Sum')").parent(); 
    tax.insertAfter(sum); 
    tax.remove(); 
});​ 

[编辑]
错过含点心首款TD ...所以它的工作,但不是如预期的那样(税后插入作为第二行,但不是在我们打算的总和之后)

so here is a better solution using the .td-main class on the items(the first row has the .td-menu class instead)

代码:

$(document).ready(function(){ 
    var tax = $("td.td-main:contains('Hvorav mva. utgjør')").parent(); 
    var sum = $("td.td-main:contains('Sum')").parent(); 
    tax.remove().insertAfter(sum); 
});​ 
+0

第一TR TD具有总和为好。 – shin 2010-11-01 08:03:27

+0

不知道为什么它没有选择第一个总和,无论如何 - 使用你的TDS上的.td-main这个事实 - 去编辑我的答案 – 2010-11-01 08:24:33

+0

谢谢Avi。我在这里添加了完整的代码,但没有更改为您的代码。 http://jsbin.com/afepu/5/edit – shin 2010-11-01 08:33:49