2011-06-26 3 views
1

は、私はこれを持っている:jQueryのDOMの変更のネジ私のCSS

取り組んでいる
if($('.content', wrapper).length === 0) 
    $(data[current].content).appendTo(wrapper); 
else 
    $('.content', wrapper).replaceWith($(data[current].content)); 

var el = $('.content', wrapper); 

が、同じことを行う必要があり、このコードは、:

var el = ($('.content', wrapper).length === 0) 
      ? $(data[current].content).appendTo(wrapper) 
      : $('.content', wrapper).replaceWith($(data[current].content)); 

は私のCSSを台無しにされています。

elは私が間違って

何をやっている...ので、いくつかのCSSの変更のどちらの場合も同じであってもよいが、いくつかの奇妙な理由で、この後に続く私のアニメーションがうまくいかない、最も可能性が高いように見えますか?

+0

です。あなたがしたいものがありますか?新しく置き換えられたコンテンツではなく、古いコンテンツが返されると私は信じています。 – spb

+0

よく '$( '。content'、wrapper)'(置き換えられた要素)を使いたいです。私の場合、代わりに何が返ってくるのだろうか? – Mary

+0

私はそれが置き換えられた(そしてもはやDOMにない)コンテンツを返すと思います。 jQueryドキュメントから: "元のjQueryオブジェクトが返されることに注意する必要があります。このオブジェクトは、DOMから削除された要素を指し、新しい要素を置き換えたものではありません。 – spb

答えて

2

.replaceWithは、置き換えられた(そしてもはやDOM内にはない)コンテンツを返します。 jQuery docsから:

元 jQueryオブジェクトが返されることに注意しなければなりません。このオブジェクト は、 がDOMから削除された要素を指し、新しい 要素ではありません。

関連する問題