2010-11-01 56 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