在jQuery中的多个元素中插入多个值

时间:2012-06-21 18:34:12

标签: javascript jquery html css

我有一个几乎完全由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的所有实例?

1 个答案:

答案 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,
 });