【问题标题】:Jquery - How do I use each appendTo or prependTo (Close)Jquery - 如何使用每个 appendTo 或 prependTo(关闭)
【发布时间】:2026-01-24 16:15:01
【问题描述】:

HTML代码

<div class="ar">
    <div class="IntroText">
        xxxxxxxxxxx
        <span class="youtube">
        <object =xxxxxxxxxxxxxxxxxxxxxxxx>
        </object>
        </span>
        xxxxxxxxxxx
        xxxxx
    </div>
</div>
<div class="ar">
    <div class="IntroText">
        xxxxxxxxxxx
        xxxxxxxxxxx
        xxxxx
        </div>
</div>
<div class="ar">
    <div class="IntroText">
        xxxxxxxxxxx
        <span class="youtube">
        <object =xxxxxxxxxxxxxxxxxxxxxxxx>
        </object>
        </span>
        <span class="youtube">
        <object =xxxxxxxxxxxxxxxxxxxxxxxx>
        </object>
        </span>
        xxxxxxxxxxx
        xxxxx
        </div>
</div>

如何使用jQuery的每个函数 将第一个 span.youtube 元素添加到 ar 类?或追加? 我尝试每个都使用 jquery,但所有 span.youtube 元素都会一样

$(.IntroText).find(span.youtube).each(function(){$(this).appendTo('.IntroText')}

【问题讨论】:

  • 是的,我是,但还是忘记了如何使用每个功能

标签: jquery append each prepend


【解决方案1】:

如果你想移动第一个 span.youtube 元素,那么你必须遍历 .IntroText 元素并像这样找到第一个 span.youtube

$('.IntroText').each(function (i) {
    var $this = $(this);
    $this.before($this.find('span.youtube:first'));
});

这会在每个 .IntroText 元素之前移动第一个 span.youtube 元素。如果你需要的话,你也可以使用.after()

Here是一个jsFiddle示例,修改后可以看到标记。

【讨论】:

  • thnaks,Emre 但我有新问题,我的 youtube 元素可能看不到 jquery 长度问题?
  • 我的错,我忘记更改元素类名,再次感谢,祝你有美好的一天
【解决方案2】:
$(function(){
$('.IntroText').find('span.youtube').each(function(){$('<p>prepend sometext</p>').prependTo(this)});
$('.IntroText').find('span.youtube').each(function(){$('<p>append sometext</p>').appendTo(this)});    
});

http://jsfiddle.net/SXBwh/1/

【讨论】:

    【解决方案3】:

    这很笨拙,但看起来它正在工作:

    http://jsfiddle.net/lharby/ZSdXS/

    $('.IntroText span.youtube').each(function(){
       $('.IntroText').append(this);
    });
    

    这就是你要找的吗?

    您需要在函数内用单引号或双引号将 html 元素、id 和类包裹起来。

    【讨论】:

      最近更新 更多