我試圖通過單擊將它添加到第一個textarea的相同容器的按鈕來複制我的html代碼中的textarea。添加html元素jQuery
我的代碼是:
$("#note_adder").click(function(){$("#p_note").clone().append('note_id')});
- 按鈕的id是
note_adder
- 多行文本的id是
p_note
- 容器的id是
note_id
我也想改變的name屬性新創建的textarea。
我試圖通過單擊將它添加到第一個textarea的相同容器的按鈕來複制我的html代碼中的textarea。添加html元素jQuery
我的代碼是:
$("#note_adder").click(function(){$("#p_note").clone().append('note_id')});
note_adder
p_note
note_id
我也想改變的name屬性新創建的textarea。
兩件事情:你需要使用appendTo
,你需要一個#
在note_id
的前面。
$('#note_adder').click(function() {
var counter = $('[id^="p_note"]').length;
$('#p_note').clone().attr({
id: 'p_note_' + counter,
name: 'p_note_' + counter
}).appendTo('#note_id');
});
我也改變了克隆textarea的id
因爲ID應該是唯一的。同時連續單擊,就應該產生新的文字區域具有的名稱和ID:
必須appendTo
:
$("#note_adder").click(function(){$("#p_note").clone().appendTo('#note_id')});
現場測試案例:http://jsfiddle.net/cq9Hq/
更新與BOX9更好的方法:http://jsfiddle.net/cq9Hq/1/
感謝提及appendTo錯誤我沒有注意到它,併爲現場測試:) – Star 2011-04-14 11:56:30
@歡呼聲,因爲Box9的答案是一樣的,我的和更好(相同的ID是真的壞主意)我離開我的唯一原因答案是針對測試用例。 – 2011-04-14 11:58:29
+1用於提示更改ID,但按鈕單擊兩次時會發生什麼? :) – 2011-04-14 11:44:14
@Shadow,哈哈好點!讓我繼續努力......現在如何? – 2011-04-14 11:44:48
簡單的計數器..可以隨意使用我的下面的測試用例。 :) – 2011-04-14 11:47:48