【问题标题】:jQuery: appendTo parentjQuery:附加到父级
【发布时间】:2011-06-08 11:16:05
【问题描述】:

我似乎无法让 appendTo 工作。我做错了什么?

$('div:nth-child(2n) img').appendTo(parent);

当前标记:

<div class="container">
  <img src="123.jpg" />
  <p>Hey</p>
</div>
<div class="container">
  <img src="123.jpg" />
  <p>Hey</p>
</div>

我想要这个输出:

<div class="container">
  <p>Hey</p>
  <img src="123.jpg" />
</div>
<div class="container">
  <p>Hey</p>
  <img src="123.jpg" />
</div>

请帮帮我……我每分钟都在扯头发……:-S

【问题讨论】:

    标签: jquery append appendto


    【解决方案1】:

    以下内容就足够了:

    $("div>img").each(function(){
        $(this).appendTo($(this).parent());
    });
    

    在这里查看它的工作原理:http://jsfiddle.net/EtxqL/

    您不能从“选择器”参数推断每个项目的父项到 appendTo()。做你想做的事情的唯一方法是遍历项目,将每个项目附加到其父项。查看以下链接中的 API。

    .appendTo() API

    .each API

    【讨论】:

      【解决方案2】:

      这就是你所追求的吗?

      $('.container > img').each(function () {
          $(this).parent().append(this);
      });
      

      它只是在每个容器中获取&lt;img&gt;,并作为容器的第一个子元素移动。

      【讨论】:

        【解决方案3】:

        您可以使用.prepend() 而不是附加 在父级的末尾附加插入。 但是在父项的开头添加插入。 所以然后喜欢:

        $('.container > p').each(function () {
            $(parent).prepend(this);
        });
        

        【讨论】:

          【解决方案4】:

          我做了一个little example,希望你的意思是一样的......

          $(document).ready(function() {
              $('.container > img').each(function() {
                  $(this).parent().append(this);
              });
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-03-17
            • 1970-01-01
            • 2013-11-26
            • 2011-04-02
            相关资源
            最近更新 更多