2012-04-26 16 views
0

ポップアップを開いてdivにネストしたいとします。私はのappendToを使用しています。 私のポップアップは、クリックされたdiv内で開く必要があります。 Jqueryがポップアップを開いて、クリックしたdivにネストします

次に、htmlを追加します。 私は行方不明ですか?

フィドル: http://jsfiddle.net/XeELs/151/

if ($("#events .event").hasClass("selected")) { 
      $('.popup-event').parent().appendTo($(".event")); 
      $(this).fadeIn(); 
      $('.popup-event').append('<span class="close-popup-event" />'); 
     }else{ 
      $('.close-popup-event').fadeOut(''); 
     } 

HTML

<div class="event"> 
</div> 



<aside class="popup-event"> 

</aside> 
+0

この例で[jsfiddle](http://jsfiddle.net)を作成できますか? – Jakub

+0

マークアップを表示し、文言があなたの意図した意図を不明瞭にするので、質問を明確にしてください。 –

+0

http://jsfiddle.net/XeELs/141/ – DD77

答えて

0

に追加するでしょう。このフィドルをチェックアウト:http://jsfiddle.net/a9AHt/1/

を私は<div id="events">で全体を包み、「選択」するために、クラスを変更イベントが発生します。

あなたはappendTo句で.parent()を取る場合、それは右の要素を入れます。

をまた、その.event div要素がある場合に、それは相対的にするために、あなたが言及したいと思います$(this)に他のdivを誤って取得することはありません。

最後に、その要素に常にあることを確認するためにposition:relative.event divに追加します。

0

あなたの最初の文は後ろ向きです。 $( "。event")に変更してください。appendTo($( '。popup-event')。parent());またはappendToを変更して追加すると動作します。さらに、両方のjQueryオブジェクトが空でないことを確認します。

0

あなたはこのような何かを試してみてください:

http://jsfiddle.net/mkprogramming/XeELs/150/

$('.event a').click(function() { 
     $('.popup-event').appendTo($(this).parent()); 
     $('.popup-event').fadeIn(); 
     $('.popup-event').append('<span class="close-popup-event" />'); 
});​ 

は、私が注意すべき重要な部分は、私はあなたのコード内のいくつかのミスがあると思い $(this).parent()

0

だと思います。まず、popup-eventのクラスの代わりにidを使用するほうが、(私が理解する限り)それは一意であるといいでしょう。また

、あなたが

$('.popup-event').parent().appendTo($(".event")); 

を書くとき、あなたの「イベント」のdivにあなたの「ポップアップ・イベント」のdivのを追加してみてください。あなたは「ポップアップイベント」にIDを入れていると、あなたはそれがクリックされたdiv要素内に表示したいと仮定し

$("div.event").bind('click', function() { 
$("#popup-event").appendTo($(this)); 
}); 

:(私が正しく理解していれば)私はどうなるのか

はこれです。あなたはそれがクリックされたdiv要素の親内に表示したい場合は、

$(this).parent() 
関連する問題