前提・実現したいこと
jQueryで取得したオブジェクトの一部の要素を置き換えしたいです。
※以下は「bar1」を「bar2」に置き換えしたい場合です。
HTML
1<div class="hoge"> 2 <div class="foo"> 3 <input type="text" name="bar1" value=""> 4 <input type="text" name="bar1_text" value=""> 5 <textarea name="bar1_area"></textarea> 6 </div> 7</div> 8<a href="#" class="btn">複製</a>
このようなHTMLがあった場合に「複製」ボタンを押すと
HTML
1<div class="hoge"> 2 <div class="foo"> 3 <input type="text" name="bar1" value=""> 4 <input type="text" name="bar1_text" value=""> 5 <textarea name="bar1_area"></textarea> 6 </div> 7 <div class="foo"> 8 <input type="text" name="bar2" value=""> 9 <input type="text" name="bar2_text" value=""> 10 <textarea name="bar2_area"></textarea> 11 </div> 12</div> 13<a href="#" class="btn">複製</a>
となるようにしたいです。
試したこと
replaceメソッドを使ってみましたが、TypeErrorがでて動きませんでした。
同じものをコピーするまでは以下でできたのですが・・・
jQuery
1$('.btn').click(function(){ 2 var dom = $('.hoge .foo:last').clone(true); 3 dom.insertAfter('.hoge .foo:last'); 4 // 以下だとエラー 5 // dom.replace('bar1', 'bar2').insertAfter('.hoge .foo:last'); 6});
■エラーコード
Uncaught TypeError: dom.replace is not a function
at HTMLSpanElement.<anonymous> (hoge.php)
at HTMLSpanElement.dispatch (jquery.min.js:3)
at HTMLSpanElement.r.handle (jquery.min.js:3)
良い方法があれば、ご教授いただきたいです。
よろしくお願いします。
回答および質問ありがとうございました。
どちらの方法を採用するか、または参考にさせて頂いて解決するか現在はわかりませんので、先にご回答いただいた方をベストアンサーにさせて頂きました。
ありがとうございました。
回答2件
あなたの回答
tips
プレビュー