2012-06-21 52 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