Jquery - 如何使用每个appendTo或prependTo(Close)

时间:2013-08-16 14:06:21

标签: jquery append each prepend

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')}

3 个答案:

答案 0 :(得分:1)

如果您想要移动第一个span.youtube元素,则必须遍历.IntroText个元素并首先找到span.youtube这样的内容;

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

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

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

答案 1 :(得分:0)

$(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/

答案 2 :(得分:0)

这非常笨重,但它看起来很有效:

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

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

这就是你要找的东西吗?

您需要在函数内的单引号或双引号中包装html元素,id和类。