我试图让对象的每个实例都创建html,显示该实例的属性值而不是其他。所以我使用jquery为对象原型添加了一个属性。该属性将html元素添加到页面。我添加的元素包括id,其中包含我使用的特定对象实例的名称,因此我只能向该实例显示该特定实例的属性值。但是我遇到了一个问题:
$('.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,最终显示相同的信息,而不是每个对象唯一的信息。我不知道如何解决这个问题。有谁知道是否有解决方案?
答案 0 :(得分:0)
包装id属性的单引号:
$('.manDivContainer').append("<div class='manDiv' id='" + this.nameLC + "'></div>");
答案 1 :(得分:0)
您可以将部分不工作代码隔离到新变量
var somethingToAdd =“这里应该是带有div的字符串”;
//在这里你可以将它打印到控制台并查看它的外观
$( 'manDivContainer')附加(somethingToAdd);