2012-04-21 14 views
2

私はここでこれを見つけることができず、誰かが助けることを望んでいます。jQuery - appendTo前/前の要素

私はその前の段落に追加するリンク(.more)を必要とする - 私は、これは十分に簡単ですが、かなりそれが権利を取得することはできません確信している:

<p>Lorem ipsum</p> 

<p>Lorem ipsum</p> 

<p>Lorem ipsum</p> 

<a href="#" class="more">Read more</a> 

<p>Lorem ipsum</p> 

があるかもしれません最後のHTMLの段落の数が増えたので、これを行う必要があるのはCMSに関連しています。しかし、上記に基づいて、私の目的は次のようになります。

<p>Lorem ipsum</p> 

<p>Lorem ipsum</p> 

<p>Lorem ipsum <a href="#" class="more">Read more</a></p> 

<p>Lorem ipsum</p> 

私が試した:

$(".more").appendTo("p"); 

をしかし、明らかに、これはすべての段落に追加します...おそらくこれは、prevAllのための仕事ですしかし私はそれに私の指を置くことはできません。

ご協力いただきありがとうございます。

答えて

4

HTML

<p>Lorem ipsum</p> 
<p>Lorem ipsum</p> 
<p>Lorem ipsum</p> 
<a href="#" class="more">Read more1</a> 
<p>Lorem ipsum</p> 
<a href="#" class="more">Read more2</a> 

JSを使用しようと

$('p').each(function(e){ 
    if($(this).next('a').hasClass('more')) 
     $(this).html($(this).html()+" ").append($(this).next('a')); 
});​ 

Example1Example2 with multiple a tags.

1

var more = $(".more"); 
more.prev().append(" ").append(more); 
+0

これをチェックすべきですhttp://jsfiddle.net/heera/Me5Dm/4/ –

+0

もちろん '$(" more ")'はクラス "more"のすべての要素をキャッチしますが、与えられた例に適合します –

+0

Iあなたに気づかせたいと思っていたと思う。 –

関連する問題