我有一个几乎完全由javascript生成的页面。我有一个main函数创建元素,然后有一些属性可用于自定义每个元素。大多数自定义都在CSS级别,但我需要在每个元素中插入一个唯一的文本元素。
这是对象函数:
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'
});
上面输出的结果“这是按钮13”,但它还附加了已经设置的buttText的任何其他实例,因此你发送“这是按钮13这是按钮14这是按钮15”等
我该如何处理这个问题,所以我只有“this”值而不是buttText的所有实例?
答案 0 :(得分: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,
});