發生這種情況是因爲類ID '.hasDatepicker'
在更改ID後仍然存在於輸入上。由於類datepicker不會重新啓動。
添加html之前刪除類將解決您的問題。
var dateHMTL = 'Date 1<input id="dt1" class="dt" /><br/>Date 2<input id="dt2" class="dt" /><br/>Date 3<input id="dt3" class="dt" /><br/>Date 4<input id="dt4" class="dt" /><br/>Date 5<input id="dt5" class="dt" />'
$(function() {
$(document).on('focus', ".dt", function() {
$(this).datepicker();
});
$(document).on("click", "#btn", function (e) {
e.preventDefault();
dateHMTL = $("#theDIV").html();
dateHMTL=dateHMTL.replace(/Date (\d+)/g,"Date 1$1");
dateHMTL=dateHMTL.replace(/dt(\d+)/g,"dt1$1");
dateHMTL=dateHMTL.replace(/hasDatepicker/g,"");
$("#theDIV").html(dateHMTL);
});
$("#theDIV").html(dateHMTL)
});
看看這個工作fiddle