代码之家  ›  专栏  ›  技术社区  ›  Toran Billups

jquery为每个附加子节点

  •  5
  • Toran Billups  · 技术社区  · 15 年前

    在下面的代码中,我试图循环遍历每个子节点,并将子节点附加到另一个元素中——循环中的正确语法是什么?

    $(this).children().each(    
        $(div).appendChild(this.childNodes.length - 1);
    );
    
    2 回复  |  直到 15 年前
        1
  •  8
  •   Adam Bellaire    15 年前

    each() 函数, this 指的是您正在迭代的内容,在本例中, children() . 这不是 原始jquery对象的。

    因此:

    $(this).children().each(function() {    
        $(div).appendChild($(this));
    });
    
        2
  •  0
  •   RaYell    15 年前

    应在中使用函数回调或匿名函数 each 呼叫:

    $(this).children().each(function() {
        $(div).appendChild(this.childNodes.length - 1);
    });
    

    function doSomething() {
        $(div).appendChild(this.childNodes.length - 1);
    }
    
    $(this).children().each(doSomething);
    

    我不确定你的代码是否不能改进,但是当我只看到其中的一小部分时,我几乎说不出什么来。