2012-12-09 165 views
-2

例如爲了我有李鴻章的名單如下:如何更改HTML元素

<li id='r1' class='myclass'>something</li> 
<li id='r2' class='myclass'>something</li> 
<li id='r3' class='myclass'>something</li> 
<li id='r4' class='myclass'>something</li> 
<li id='r5' class='myclass'>something</li> 

我想用一個函數代替兩節鋰對方。

例如:先放li2 o,然後放li1。

,我有這樣的功能:

function updown(li_id , dir) 
{ 
//what should i type here.... 
} 

li_id:是我李ID

DIR:是 「向上」 或 「向下」

+1

這是非常薄的,因爲你不顯示自己的任何努力會。我會*打賭*當谷歌搜索,比如'jQuery改變html元素的順序'時,會有很多東西。 –

+0

我已經嘗試過,但我沒有看到任何理由讓我的問題變得困難和複雜。 –

+1

[你有什麼嘗試?](http://whathaveyoutried.com)作爲一個jQuery仍然相當新的人,你試圖做的並不困難。付出一些努力。 – 2012-12-09 18:10:27

回答

2

使用()之前或之後( )交換兩個元件的順序:

$('#r1').before($('#r2'));​ 

FIDDLE

或你的函數:

function updown(li_id , dir) { 
    $('#'+li_id)[dir!='up'?'before':'after']($('#'+li_id)[dir!='up'?'next':'prev']()); 
} 

使用,如:

updown('r3', 'up'); 
updown('r1', 'down'); 

FIDDLE

+0

是的。接下來,滬指,前,後。但例如沒有任何prev li或我能做什麼與html id衝突 –

+1

ID的是唯一的,沒有ID衝突,除非你做了一個大的禁忌,並創建一個。至於不存在的前一個或下一個元素,你不能用那些不存在的東西交換地點? – adeneo

+0

TNX,它的工作。我也用jquery.sortable。是否支持舊瀏覽器? –