我有关于设置克隆元素的ID的问题。
首先我有一个部分视图[mypartialview.cshtml]只有一个元素
@model mydata
@{
Layout = null;
}
@Html.EditorFor(model => model.Details,"","supp_int_mat_det")
现在在我的页面中我有一个原型
<div id="simtemplate" style="display: none">
@Html.Partial("mypartialview", new mydata())
</div>
我正在用javascript点击代码编写这段代码
function addsupp() {
var component = "simtemplate";
var idiv = $("#simtemplate").clone(); //.html();
idiv.removeAttr("style");
var newid = "CompetencyParts[" + counter + "]";
counter = counter + 1;
if (previd == "") {
previd = newid;
}
var fdiv = idiv.find("#supp_int_mat_det");
fdiv.addClass("ckeditor");
fdiv.attr("name", newid);
fdiv.attr("id", newid);
$("#panel").append(idiv);
var html = '';
var config = { width: 400, height: 200 };
// CKEDITOR.replace(newid);
}
我成功设置了第一个克隆元素的id 第二个或此后克隆的元素具有相同的ID是第一个元素 谁能告诉我为什么会这样?
答案 0 :(得分:0)
我明白了。 实际上我忘了改变div的id.upon附加它成为'simtemplate'的副本,后来克隆尝试克隆了这个重复的div。因为重复的div不包含任何原始元素[在simtemplate中找到的那个]所以id是没有改变。 添加这行代码解决了我的问题。
var idiv = $("#lessonplan").clone(); //.html();
idiv.removeAttr("style");
var divid = "lessonplan" + getdivcount();
idiv.attr("name", divid);
idiv.attr("id", divid);