真的是我誤用prependTo了
我把它改成
$("#xpicdiv").after($("#xpicdiv").clone().attr("id","xpicdiv_0"));
就成功了
感謝大大的解疑
※ 引述《TonyQ (沉默是金)》之銘言:
: ※ 引述《knives ()》之銘言:
: : 我用jquery的clone來複製一個div元件
: : $('.copy1').click(function(){
:
: : 可是用這樣無法更改新複製元件的id
: : 這樣子的話,如果再按一次,就變成一次複製兩個相同的div
: : 我只想要每按一次就複製一個,請問該怎麼做才能更改新的元件的id值
: : 謝謝
: 你誤會了,其實是依序複製 1.2.4.8.16.32 個...
: 先假設xpicdiv是 A , #xpicdiv_0 是 A_0 方便解說
: 一開始是
: A
: 因為你用的是prepend 所以第一次按的時候是這樣
: A -> A_0
: 第二次按的時候複製A(會連子元素一起複製 , 並放到a裡面的前方當A_0)
: 就會變成這樣
: A -> A_0 -> A_0
: -> A_0
: 第三次呢...
: A -> A_0 -> A_0 -> A_0
: -> A_0
: -> A_0 -> A_0
: -> A_0
: 如果你每次只想複製一個原始的A ,
: 那我的建議是另外用一個獨立的元素來作clone ,
: 不要一邊改變自己內容(prepend) 又一邊複製自己.
: 我猜你可以先把prepend改before, 感覺起來比較像是誤用.
: 要測試網頁可以看這裡:p
: http://tony1223.no-ip.org:81/test/testClone.htm
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.153.178