我试图让对象的每个实例创建 html,显示该实例的属性值,而不显示其他实例的属性值。所以我使用 jquery 向对象原型(prototype)添加了一个属性。该属性将 html 元素添加到页面。我添加的元素包括 ids,其中包含该特定对象实例的名称,我使用它来仅向该实例显示该特定实例的属性值。但我遇到了一个问题:
$('.manDivContainer').append("<div class='manDiv' id=this.nameLC ></div>");
如果我使用此代码,该事件会认为 this.nameLC 是一个字符串,因此每个实例最终都具有相同的 id。
$('.manDivContainer').append("<div class='manDiv' id="+ this.nameLC + "></div>");
另一方面,如果我使用此代码,将对象添加到引号外的空格中,则该事件将不起作用。
$('.manDivContainer').append("<div class='manDiv'></div>").attr('id', this.nameLC + "Div");
另一方面,如果我尝试添加 .attr,代码会假定我将该属性添加到 .manDiv 的每个实例中。因此,会发生的情况是,我创建的该对象的第一个实例会将该对象的 id 添加到 .manDiv,但是当我在第一个对象之后创建第二个对象时,第二个对象会将其自己的 id 添加到它自己的两个对象中.manDiv 和之前的 .manDiv,所以我最终得到两个具有相同 ID 的 div,它们最终显示相同的信息,而不是每个对象特有的信息。我不知道如何解决这个问题。有谁知道有没有解决办法?
最佳答案
用单引号括起 id 属性:
$('.manDivContainer').append("<div class='manDiv' id='" + this.nameLC + "'></div>");
关于javascript - 附加一个包含对象 id 的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42684818/