- JScript code
上移函数 function c_pre(o) { var o = $(o).parent(); if( o.prev().length > 0) { var tmp = o.clone(); var oo = o.prev(); o.remove(); oo.before(tmp); } } 下移函数 function c_next(o) { var o = $(o).parent(); if( o.next().length > 0) { var tmp = o.clone(); var oo = o.next(); o.remove(); oo.after(tmp); } }
网上找到的jquery交换相邻元素位置的代码(比如表格中两行),我发现var o = $(o).parent();这行代码莫名其妙,是不是多余啊?
------解决方案--------------------
具体是否是多余,看交换的是什么,如果交换父对象,则不是多余的
比如这样就不是多余的
- HTML code
<script src="jquery-1.7.2.min.js"></script> <script> function c_pre(o) { var o = $(o).parent(); if (o.prev().length > 0) { var tmp = o.clone(); var oo = o.prev(); o.remove(); oo.before(tmp); } } function c_next(o) { var o = $(o).parent(); if (o.next().length > 0) { var tmp = o.clone(); var oo = o.next(); o.remove(); oo.after(tmp); } } </script> <ul> <li>AA1</li> <li>BB1</li> <li>CC1</li> </ul> <ul> <li>AA2</li> <li>BB2</li> <li>CC2</li> </ul> <ul> <li>AA3</li> <li>BB3</li> <li onclick="c_pre(this)">点击交换UL</li> </ul>