2012-06-21 54 views
0

我有一个几乎完全由javascript生成的页面。我有一个主要功能来创建元素,然后提供一些可用于自定义每个元素的属性。大多数自定义是在CSS级别,但我需要在每个元素中插入一个唯一的文本元素。在jQuery中的多个元素中插入多个值

这里的目标函数:

function buildButton(s, b) { 
     $(s).append('<div id='+b.name+'></div>'); 
     $('#'+b.name).css({ 
      'position': 'absolute', 
      'display': 'inline-block', 
      'left': b.x, 
      'top': b.y, 
      'height': b.height, 
      'width': b.width, 
      'cursor': 'pointer', 
      'z-index':5, 
     }); 

我试图创造独特的文本元素与此:

$('div[id |="controllerButt"]').append(b.buttText); 

然后我们有函数调用:

buildButton(this, { 
    name:'controllerButt-13', 
    type: 'action', 
    width:31, height:37, 
    x:422, y:536, 
    buttText: 'This is Button 13' 
}); 

上述输出的结果“This is Button 13”,但它也附加任何其他buttText实例所以你发送“这是按钮13这是按钮14这是按钮15”等

我应该如何解决这个问题,所以我只有“this”值而不是所有的buttText实例?

回答

1

您可以设置文本在您创建按钮

$(s).append('<div id='+b.name+'>'+b.buttText+'</div>'); 

,或者使用一个长链

$('<div id='+b.name+'></div>') 
.text(b.buttText) 
.appendTo.(s) 
.css({ 
     'position': 'absolute', 
     'display': 'inline-block', 
     'left': b.x, 
     'top': b.y, 
     'height': b.height, 
     'width': b.width, 
     'cursor': 'pointer', 
     'z-index':5, 
}); 
+0

谢谢穆萨的说法! – HjalmarCarlson