- ベストアンサー
jQueryで要素の前後のDIVを複写・削除する方法について教えてください
- jQueryを使用して、要素の中にある最初のDIVの前に指定した要素の中の最後のDIVを複写し、その後、最後のDIVを削除する方法を教えてください。
- DIVの順序を入れ替えるために、要素の中にある最初のDIVの前に最後のDIVを複写し、その後、最後のDIVを削除する方法について教えてください。
- 要素内のDIVの順序を変更するために、最初のDIVの前に最後のDIVを複写し、最後のDIVを削除する方法をjQueryを使用して教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
言葉を信用するのか、コードを信用するのか…? 最初にご提示のコードでは『以下のようなイメージのdivの構造』のDOMは生成されません。 イメージなのでコードをもとに生成されるほうをを考えればよいのだろうか?? (そのままでは動作しないけれど…) てなわけで、イメージの回答 (どうせ削除するのなら、複写しないで移動し削除も省略) $("#waku>div:first").before($("#waku>div:last")); あるいは $("#waku > div:last").prependTo("#waku > div:first");
その他の回答 (2)
- fujillin
- ベストアンサー率61% (1594/2576)
>「文字列」という箇所へ<div></div>を記述しないと行けないのを >間違えたコードを記載していました。 それを修正して、ご自身で確認してみることを強くお勧めいたします。 なお、#1の回答は $("#waku div:first-child").before($("#waku div:last-child")); とするほうがより良いであろう、というご指摘を某所でいただきましたのでつけ加えておきます。
お礼
fujillinさん、お早うございます。 重ねて教えていただき有り難うございます。 >$("#waku div:first-child").before($("#waku div:last-child")); としてみました。 DIVが入れ替わった後、#waku内のDIVのwidthが変更され、 何とその後、chromeがハングアップしてしまいました。 何回実行してみても同じようにハングアップしてしまいました。
- fujillin
- ベストアンサー率61% (1594/2576)
>どのようなイメージとなるのでしょうか。 >教えていただけないでしょうか。 ここの質問文にご提示のコードをご自分でコピペして実行してみればわかるはずですが。 (あくまでも、ここの質問文についてです。) 何分もかかることでもないと思います。 ----------------------------------------- ご提示のコードをコピペで動かそうとすると、多分エラーになるはず。 とりあえず、エラーをなくすのに5文字修正が必要。 さらに1文字の修正をしないと入れ子の子要素は生成されない。 (↑)を修正して作成されるDOMは <div id="waku"> <div id="eachDiv0">文字列<br>0 : aaaaaaa </div> </div> のような構造なので、ご提示のものとは違うというわけ。
お礼
fujillinさん、重ねて有り難うございます。 理解できました。?のつもりです。 「文字列」という箇所へ<div></div>を記述しないと行けないのを間違えたコードを記載していました。 大変ご丁寧なレスありがとうございました。
お礼
fujillinさん、お早うございます。 早速のレス有り難うございます。 できました。こんなに簡単に動作するとは驚きです。 このために色々なコードを2日間も試していました。 どうもありがとうございます。 >最初にご提示のコードでは『以下のようなイメージのdivの構造』のDOMは生成されません。 このご指摘も驚きです。 どのようなイメージとなるのでしょうか。 教えていただけないでしょうか。 >イメージなのでコードをもとに生成されるほうをを考えればよいのだろうか?? 良く理解できません。もう少し食わし腰得ていただけると有り難いのですが。 まずは、思うように動作しました。 ありがとうございました。