日期:2014-05-16  浏览次数:20342 次

这行代码是不是多余?
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>