0

我在设置克隆元素的 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 相同是第一个元素 在此处输入图像描述 谁能告诉我为什么会这样?

4

1 回答 1

0

我知道了。实际上我忘记更改 div 的 id。在附加它时,它变成了“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);
于 2013-02-26T10:25:32.107 回答