jQuery只有“这个”。简单的问题

时间:2011-08-14 19:44:35

标签: jquery this

我只是陷入了一个简单的jQuery问题。 我正在尝试每个span元素prependTo p元素,但jQuery重复每个跨度3次(因为我有3个span元素)。好的,很难解释。

只需查看小提琴代码 - http://jsfiddle.net/fTjcy/1/

HTML:

<div class="events">

<div class="event">
<span class="red">31.08.11  - </span>
<p>...</p>

</div> <!-- END OF New -->



<div class="event">
<span class="red">28.08.2011  - </span><p>...</p>
</div> <!-- END OF New -->



<div class="event">
<span class="red">20.08.2011  - </span><p>...</p>
</div> <!-- END OF New -->

</div>

我想实现:

<div class="events">

<div class="event">

<p><span class="red">31.08.11  - </span>...</p>
</div> <!-- END OF New -->



<div class="event">
<p><span class="red">28.08.2011  - </span>...</p>
</div> <!-- END OF New -->



<div class="event">
<p><span class="red">20.08.2011  - </span>...</p>
</div> <!-- END OF New -->

</div>

jQuery的:

$('.event span.red').hide().prependTo('.event p').show();

3 个答案:

答案 0 :(得分:2)

您只需要定位当前的span,并将其仅添加到相对p

var p = $('.event p');

$('.event span.red').hide().each(function(i) {
    $(this).prependTo( p[ i ] ).show();
});

示例: http://jsfiddle.net/fTjcy/3/

答案 1 :(得分:0)

试试这个

$('.event span.red').hide().each(function(i) {
    $(this).prependTo($('.event p').eq(i)).show();
});

答案 2 :(得分:0)

$('.event span.red').each(function() {
    var paragraph = $(this).closest('.event').find('p');
    $(this).hide().prependTo(paragraph).show();
});